0

私はc#で次の正規表現を持っています(ship|sub)(?<!^(shipment|subway)$)

これは、データが出荷または地下鉄ではない場合に、指定されたデータに船または潜水艦が含まれているかどうかを確認するために使用されます。

同じ式をJavaスクリプトで書きたい。javascriptのネガティブな振り返りでいくつかのオプションを試しましたが、それらは私の目的を果たしていません。たとえば、正規表現に出荷する場合、(正規表現での出荷を除外しているため)返送しないでください。 、メンバーシップを与えると、shipとmatchの結果がtrueになるはずです。

誰か助けてくれませんか。

4

1 に答える 1

1

正規表現は .NET でも機能しないはずです。「ship」または「sub」に一致すると、否定後読みアサーションは常にtrue になります。「ship」または「sub」に一致したため、前の文字が「ment」または「bway」になることはありません。したがって、常にアサーションを渡します . 代わりに、次のことを意味していたに違いありません。

\b(ship(?!ment)|sub(?!way))\b

否定的な先読みアサーションのみを使用しているため、これは Javascript でも機能するはずです。

于 2013-01-28T14:24:02.623 に答える