我目前需要弄清楚如何使用正則表達式,並得出了一個我似乎並沒有弄清楚的地方: 作爲源的測試字符串(它們實際上來自OCR' d PDFs):獲取字符串與尾隨空格後字符串
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
和string2
純數字,但不工作的string3
(它給我的號碼前額外的空格)。
我在這裏錯過了什麼?
編輯:感謝所有有用的建議。 OCR正在運行的軟件能夠在正則表達式中自行抑制空白。這個伎倆。所得圖案是:
(?<=Beleg-Nr\.:[\s]*)(.*)
等待,你只想數字吧?那麼就使用 - '(\ d +) - (\ d +)$'? –
我在那裏增加了\ t。編輯 – Sebastian