3

£文字で進まない数字を探したいです。文字列があるとします:

「2012 年の国内総生産は 1,270 億ポンドでした」

2012年のみを返したいです。

試してみましたが、これは文字を[^$][0-9]*無視するだけです。$数字で始まり数字で終わる単語全体を一致させようとしましたが、に\b[0-9]*\bのみ\b適用されます[0-9a-zA-Z]

他に提案はありますか?

4

4 に答える 4

4

動作するオプションの 1 つ ( http://gskinner.com/RegExrを使用してテスト済み) は次のとおりです。

(?<![£0-9])[0-9]+

これは、負の後読みを使用して £ を除外します。0 ~ 9 の追加の除外は、「2012」に加えて上記の「27」を検出しないようにするためです。

于 2013-10-22T10:05:31.023 に答える
1

文字列の前にスペースを付けて、「数字で始まる単語のデジタル接頭辞」を意味する正規表現を検索できます。\s[0-9]+これにより、$、£、または数字以外のすべてで始まるすべての単語が除外されます。

于 2013-10-22T10:05:23.313 に答える
1

これは、それらを試すことができる優れたツールです。これは、あなたが尋ねたことを行うサンプル方法です http://regex101.com/r/iH9uS8

于 2013-10-22T10:17:54.390 に答える
0

これは私のために働く:

 (?:^|\\s)(\\d+)(?:\\s|$)
于 2013-10-22T10:13:13.770 に答える