私はいくつかの正規表現の助けを必要としています。正規表現のヘルプ(作業が、除外を必要とする)
私はそうのようなリストを持っている:
/hours_3203
/hours_3204
/hours_3205
/hours_3206
/hours_3207
/hours_3208
/hours_3309
/hours_3310
/hours_3211
私は32または33で始まるすべてのエントリを見つけるために、この正規表現を使用しています:
/hours_3[23]/
をし、これが動作しています。
しかし、私はが必要であると言われたときカーボールを投げたhours_3211
をこのリストから除外しました。
は、どのように私は私の正規表現は、すべてのhours_3[23]
に一致ではなく/hours_3211
に合うように調整することができますか?
代わりに、私はこのようなリストを持っている:
/hours_3412
/hours_3413
/hours_3414
/hours_3415
/hours_3516
/hours_3517
/hours_3518
/hours_3519
私は正規表現使用されています:私は調整することができますどのようにすべてのhours_34x
と/hours_35x
を見つけること
/hours_3[45]/
をこの:
/hours_3[45]/
以上が、/hours_3211?
上も見つける/マッチを見つけるには?
感謝を!他の人はまだ投票を続けた。 これら両方のも私の仕事: /hours_3を([45] | 211)/ /hours_3(20 | 3)/ 、それらの間に存在しているどのくらいの差がわかりませんか? (正規表現の力はこれで弱いです!)HAHA ...より高度な正規表現はまだ私を逃げます。 – whispers
'(?:)'は非キャプチャグループと呼ばれます。これは出力に一致することなくグループ化するために使用されます。私はこれがJavaScriptであると仮定しています(私が間違っていれば修正します)。したがって、通常のグループ化 '()'を使用して 'String.prototype.match()'を使用しようとすると、式全体が '()'にあるものも出力の2番目の一致として出力されます。この場合、 '(?:)'を使用すると、一致するものだけが返されます。 – timolawl
@whispers '/ hours_3(20 | 3)/'の場合、 'hours_3210'のようなものにマッチさせたくないと仮定して、これはうまくいきます。 – timolawl