0

私はこの文字列を持っています:

[Provider].[Provider]=[ProviderArea].&[X12: WALES]

その部分だけを掴みたいX12

私は試した:

(?<=: )\w+(?=\]$)

ただし、これはWALES.

私も試しました:

^[^:]+:\s?

しかし、これはコロンの前とコロンを含む文字列全体を取得します。

どこが間違っていますか?

4

3 に答える 3

1

\\w+の間の単語 ( )を見つけたくない場合は、ルックアラウンドメカニズムを使用できます。&[:

(?<=&\\[)\\w+(?=:)
于 2013-07-09T11:14:13.813 に答える
0

これを試してみてください:

&\[([^:]+): [^]]+\]

&      # a literal &, followed by
\[     # a literal [, followed by
(      # begin capture
[^:]+  # one or more characters which are not a colon
)      # end capture, followed by
:      # a colon and a space (not shown), followed by
[^]]+  # one or more characters which are not a closing bracket, followed by
\]     # a literal ]

Java 文字列の場合:

final Pattern p = Pattern.compile("&\\[([^:]+): [^]]+\\]");
final Matcher m = p.matcher(input);

if (m.find())
    // result is in m.group(1)
于 2013-07-09T11:15:31.643 に答える