考虑一个以可变数字开头的可变长度字符串,然后是非数字,然后是任何数字。
Eg. 283432478($#*a433sd
(忽略SO的着色)
这里我想提取数字部分283432478
。没什么大不了的。
然而,有时这个字符串非常大,中间的一部分已被...
Eg. 23445678404325jkla#$s23k$#$ => 2344567840...3k$#$
我认为它可能发生在字符串中的任何地方,也不会产生固定长度的字符串。
如果它看到...
,我希望相同的正则表达式匹配失败。
有什么建议吗?
答案 0 :(得分:4)
您可以尝试:
^([0-9]+)(?!.*\.\.\.)
^ - Start anchor
([0-9]+) - Capture one more digits
(?!.*\.\.\.) - Negative lookahead to ensure a ... is not present. Since . is a
regex meta-char, you need to escape it to mean a literal period.