0

いくつかのことを検証するためにこの RegEx がありますが、残念ながら PC のみを検証しません PC - 各期間に {0,1} を追加しようとしましたが、それでも検証されません。何か案は?

(読みやすくするための改行文字)

/(^|\s)Corporation\.{0,1}(^|$)|
 (^|\s)Corp\.{0,1}(^|$)|
 (^|\s)Inc\.{0,1}(^|$)|
 (^|\s)Incorporated\.{0,1}(^|$)|
 (^|\s)Company\.{0,1}(^|$)|
 (^|\s)(^|$)|
 (^|\s)LTD\.{0,1}(^|$)|
 (^|\s)PLLC\.{0,1}(^|$)|
 (^|\s)P\.{0,1}C\.{0,1}(^|$)/ig;
4

1 に答える 1

5

正規表現の簡略版は次のとおりです。

/(?:^|\s)(?:Corporation|Corp|Inc|Incorporated|Company|LTD|PLLC|P\.C)\.?$/ig;
  • {0,1}で置き換えることができます?
  • いくつかのグループ化により、繰り返しをなくすことができます。
  • これはあまり意味がありません: (^|$). 一致の直後に行頭または行末が発生する必要があります。これは機能的には一致が行末にあることを要求するのと同じなので、単に に置き換えただけ$です。
  • (?:...)物事をグループ化する必要がある場合は、一致のその部分を取得する必要がない限り、非キャプチャ グループを使用します。それらはより効率的です。

P.C.そうは言っても、元のパターンは行末で一致しているはずです。問題は、入力データまたは正規表現の使用方法にある可能性があります。

于 2013-03-01T17:03:04.300 に答える