私は現在、正規表現の使用方法を理解する必要があり、理解していないように見える点に到達しました:ソースであるテスト文字列(実際にはOCRされたPDFから来ています):
string1 = 'Beleg-Nr.:12123-23131'; // no spaces after the colon
string2 = 'Beleg-Nr.: 12121-214331'; // a tab after the colon
string3 = 'Beleg-Nr.: 12-982831'; // a tab and spaces after the colon
数値を明示的に取得したい。そのために、次のパターンを使用します。
pattern = '/(?<=Beleg-Nr\.:[ \t]*)(.*)
string1
これにより、 andの純粋な数値が取得されますが、string2
機能していstring3
ません (数値の前に追加の空白が表示されます)。
ここで何が欠けていますか?
編集:すべての役立つアドバイスをありがとう。オンザフライで OCR を実行するソフトウェアは、正規表現で独自に空白を抑制することができます。これでうまくいきました。結果のパターンは次のとおりです。
(?<=Beleg-Nr\.:[\s]*)(.*)