2016-08-23 7 views
0

ラクダの大文字と頭字語を含む文字列の単語部分をキャプチャするには、正規表現が必要です。言い換えれば、私はラクダの弦をその言葉と頭字語に分けたいと思っています。キャデルケースの文字列の単語と頭字語に一致する正規表現

例えば

((?:^|[A-Z])[a-z]+) 

SomeABCWords

...持っている3つのキャプチャグループ

いくつかのABCの言葉は

は、これまでのところ、私はこの正規表現を見つけましたしかし、それは略語を扱うことはなく、単に「Some」や「Words」と一致するでしょう。

+0

は、あなたが "一致" とはどういう意味ですか?あなたの正規表現は 'Some'と' Words'にマッチするので、文字列全体と一致するはずです。文字列を個々の単語に分割しますか? – Chris

+0

'[A-Z] [a-z] + | [A-Z] +(?![a-z])' –

+0

@Chrisはい文字列を単語と頭字語に分割したい –

答えて

1

これを解決する1つの方法は、ネガティブ先読みを追加して略語を取り込むことです。

[A-Z][a-z]+|[A-Z]+(?![a-z]) 

Regular expression visualization

Sample

+0

イメージは正規表現をうまく説明していますが、それを作成するために何を使用しましたか? –

+1

@Protectator https://www.debuggex.com/ - これがツールです –

0

この正規表現は、少なくともあなたが投稿する場合のために、動作するはずです:

[A-Z][a-z]+|[A-Z]*(?![a-z]) 
関連する問題