我目前需要弄清楚如何使用正则表达式,并得出了一个我似乎并没有弄清楚的地方: 作为源的测试字符串(它们实际上来自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