1
34
完全通用的方法,给定正则表达式
即
为此所做的工作是:
|
2
5
是的,您可以用这样一个表达式来匹配所有这些:
注意,它也与空字符串(最后一个条件)不匹配。 |
3
4
上面的看起来有点尴尬,但我想给你展示一些你的确切图案
这满足了您的要求,包括防止出现空字符串。 请注意,表达这一点有很多种方式。有些很长,有些很简洁,但是 they become more complex depending on what you're trying to allow/disallow 编辑:
如果您想在一个更大的字符串中匹配它,我建议您使用
如果你知道你不会得到像上面这样的字符串,你可以用分词代替
编辑2:你的用例如果你想在开头加空格,在结尾加上正负号和单词,这些实际上是相当严格的规则。这是件好事。您可以将它们添加到上面最简单的模式中:
这个
|
4
2
huon的回答不错(还有一点脑筋急转弯,一直到最后)。对于任何想要快速简单地回答这个问题的人来说,'在正则表达式中, 匹配一件事或另一件事,或两者兼而有之 '值得一提的是,即使(A | B | AB)也可以简化为:
|
5
0
也许这有助于(给你一个大概的想法):
此模式匹配字符、数字或字符后的数字,但不匹配数字后的字符。 不要被“^”这个词所迷惑,它的意思是“一个字符后面跟着一行开始”,它的目的是阻止任何匹配。
请注意,这并不适用于所有类型的regex,您的regex版本必须支持
|
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Katia · 根据特定规则进行多行匹配 2 年前 |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |