0

これは、文字列のパターン全体で大文字と小文字を区別しないにリンクされていますが、別の質問です。

とにかく文字列の先頭を無視することがあったのか、それとも否定先読みが左から右にしか機能せず、開始点が必要なのか疑問に思っていましたか? 私が試したすべてのことは、常に一致するようです。

私が現在使用しているパターンは

(?i)^(?!pack ?station|paket ?station).*$

これは「packstation foo bar」に対しては正常に機能しますが、「foo packstation bar」に一致させたい場合は機能しません。

文字列は最大 26 文字までしか指定できません。以下の文字列が含まれている場合は、一致させたいと思います。

  • パックステーション - ( パックステーション | パックステーション | パックステーション )
  • パック ステーション - ( パック ステーション | パック ステーション | パック ステーション | パック ステーション | パック ステーション )
  • パケットステーション - ( パケットステーション | パケットステーション | PAKETSTATION )
  • パケット駅 - ( パケット駅 | パケット駅 | パケット駅 | パケット駅 | パケット駅 )
4

1 に答える 1

3

これはあなたが探しているものです

(?i)^(?=.*(pack ?station|paket ?station)).{1,26}$

.*あなたは先読みに欠けていました。

また、一致させたい場合は、正の先読みを使用するとより明確になります..

于 2013-05-31T09:29:42.683 に答える