0

次の正規表現があります。

(\\+)([\\w\\d]+)(=)(.+)

これにより、次のことが可能になります。

+[CharWords][数字]=[すべて]

2 番目の部分 ('=' の後) には、数字または単語の char がない限り、空白文字を使用できません。

私はこれを達成できないようです。そのような正規表現をどのように構築できますか。

編集:

有効な例を次に示します。

+Valid123=Valid123
+123Valid=Valid 123
+Valid=This is Valid 14
+Valid=(This is Valid)

私の質問は、これを回避する方法です:

無効=空白

4

3 に答える 3

2

次の正規表現はあなたのために働くはずです:

^(\\+)(\\w+)(=)(\\s*\\S+\\s*)+$
于 2013-04-23T21:23:11.293 に答える
1

これを試してください: ^\+[\w\d]+=(\S+.*)$.

これは最初の曲と一致しますが、キーは の後の部分にあり=ます。少なくとも 1 つの NON スペースの後に何かが続く必要があるため (非スペースの最初の一致の後にスペースを許可する)、パス+word123= testingする場所は失敗します。+word123=testing 123最初の文字の場合。の後に=スペースを入れることはできません。最初の文字の場合。はスペース以外のものであり、事後にスペースやその他のものを許可する必要があります。

の後の最初の単語/数字/その他の後に来るものを変更する必要がある場合は=、より複雑なルールのセットを()in の代わりに.inに挿入するだけ(\S+.*)です。

テストはここで見ることができます。少し調整する必要があるかもしれません (エスケープ Java スラッシュなど)。

于 2013-04-23T20:48:13.977 に答える