0

次の行から1944を抽出するための正規表現は何でしょうか。

vol. 9, no. 3, pp. 185-197, 1944

1944年は基本的に私が抽出しようとしている出版の年です。私は1900年から2010年の間で変化します。

4

6 に答える 6

2

それが常に文字列の最後の部分である場合、それらを使用$してそれを示すことができ、年は常に 4 桁の数字になるため、そのために を使用しますd{4}。したがって、必要な正規表現は次のようになります。

\d{4}$

また、正規表現をテストしたい場合は、ここに非常に優れたツールがあります: http://pagecolumn.com/tool/pregtest.htm、右側に記載されているルールもあります。:)

于 2012-12-17T20:41:28.687 に答える
1

より良い制約が必要ですが、おそらくこれは次のとおりです。

,\s+(19\d\d|200\d|2010)

たとえば、特定の引用スタイルを知っていますか?(MLA、APAなど)

于 2012-12-17T20:40:15.333 に答える
1

年が常に最後になると仮定します。

\d{4}$
于 2012-12-17T20:40:24.840 に答える
1

1900 から 2010 までの任意の数字に一致:

(19\d\d|200\d|2010)

日付が常に行の最後の項目である場合:

(19\d\d|200\d|2010)$

それの後に何かがあるかもしれないが、それは常にページ参照の直後にある場合:

pp?\.\s*[-\d]+,\s*(19\d\d|200\d|2010)

注: 正規表現を設計するときは、通常、テストできる一致項目を多数用意することが非常に重要です。これにより、可能な入力にどのようなバリエーションがあるかを確認できます。一般に、防弾正規表現を設計するには、1 つのテスト項目だけでは十分ではありません。

于 2012-12-17T20:47:32.897 に答える
-1

さて、私はこれを使用してそれを動作させました:

\b[1-9][0-9]{3}\b

これは1000から1999までの数値に一致し、「年」より前の数値はそれほど大きくならないことを私は知っています

于 2012-12-17T22:19:03.383 に答える
-1

4桁を一緒にキャッチしてみてください:

\d{4}
于 2012-12-17T20:38:23.807 に答える