2009-04-27 16 views
1

私は#記号を扱う正規表現を考え出しています。普通でない文字を含む正規表現

例、#1 PRODUCT_143位

入力#PRODUCT_143、正規表現#PRODUCT_(\d*$)マッチと一致として143を返した場合。しかし、入力と正規表現の両方の末尾に#を追加すると、それは中断されます。これを一致させるためにここで何をする必要がありますか?

答えて

4

#PRODUCT_(\d*$)#を試しても、一致するものが見つからなかったことは驚きではありません。 $はすでにストリングの終わりを示し、#は決してマッチしません。

ので、代わりにこれを試してみてください。

#PRODUCT_(\d*)#$ 
1

それが何かを壊すべきではありません、多分あなたは、行の終わりを意味し、正規表現で$を移動するために忘れてしまいましたか?この正規表現は問題ないはず:

#PRODUCT_(\d*)#$ 

(あなたがあなたの元の正規表現の行の終わりをキャプチャされた理由は、私はよく分かりません)。

1

括弧の外に$を移動することを忘れましたか?

 
    ^#PRODUCT_([0-9]*)#$ 

注追加^は - それはあなたの入力のために適切ではないかもしれません。

1

あなたの余分#がそれを混乱されるように$は、おそらく、行末として一致します

#PRODUCT_(\d*)#$