名前のイニシャルのための正規表現チェック

linus_hologram:

私が作成しようとしています正規表現をその小切手一つ以上の場合は中間名の頭文字は、以下のstuctureがあります。

INITIAL。[BLANK] INITIAL。[BLANK] INITIAL。

が存在することができ、複数のイニシャルあれば、ドットが続いている限り(。) -空白は2人のだけのイニシャル(例えばLB)間で許可されています

他の初期下記がない場合は、最初の後にスペースを持つことが可能であってはなりません。

現時点では、私は今のように完全に動作しない、次の正規表現があります。

([A-Z]\. (?=[A-Z]|$))+

regex101を使用して、これは一例です: 正規表現出力

あなたが見ることができるように、それはまだ別の初期下記を持たずに、空白スペースが最後にありますにもかかわらず、文字列に一致します。

私はなぜこれが起こっているかわかりません。私は正規表現を学んでいますし、誰もが私の問題への解決策を私に提供することができれば喜んでいるだろう:)

l_l_l_l_l_l_l_l:

最後のステップで、あなたの式は読み込みので、あなたが見ているエラーがある[A-Z]\.先を探し$(および発見それ)。私は、パターンをこのように表現します:(?:[A-Z]\. )*[A-Z]\.$それは、最終的なスペースがないため、特別に最後の初期を扱います。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=391581&siteId=1