任何人都可以帮我解决正则表达式问题吗?
我需要创建一个定位文本'999 - '的模式,但不包含任何格式为'999-99.999'的文本。
示例:
目前我有以下正则表达式但不起作用所以你没有.999'9999-99'
^((?![0-9]{3}-[0-9]{2}.[0-9]{3}).)*$
你能帮助我吗?
答案 0 :(得分:2)
我建议您在需要编写正则表达式时随时尝试http://www.regexr.com/。
答案 1 :(得分:0)
请注意,您使用的是.
,而不是\.
它应该仍然有用,但我认为值得一提。我还不能写评论,所以我把它作为我答案的一部分。此外,在原始问题中999
之后还有一个空格,我不确定这是否与您提供的正则表达式相关。
我试过了:
\b(999-)(?!99\.999)
如果您要查找任何数字,可以将这些9
替换为\d
s
我在regex101.com尝试了这个并且它有效,但是我对你的原始帖子发表了评论,我认为你需要更多细节。
答案 2 :(得分:0)
这可能有效
# @"(?s)^(?=(?:(?!\d+-\d{2}\.\d{3}).)+$).*\d+-.*$"
(?s) # Dot-All
^ # BOS
(?= # Not this form anywhere in the string
(?:
(?! \d+ - \d{2} \. \d{3} )
.
)+
$
)
.* \d+ - .* # Form needed
$ # EOS