我用Python编写了这个正则表达式并在regex101上进行了测试,但它仍然没有按照我想要的方式工作:
((^[-\/\\\(\)\s\,\&\.]+)?([0-9]+)([-\/\\\(\)\s\,\&\.])+)
我试图找到的是一种模式,其中字符串可以选择以这些符号之一开头或结尾,中间只有数字:
-/\()& .
该列表包括破折号、正斜杠、反斜杠、括号、符号、空格和句号。如果字符串只包含中间的数字,并且在字符串的开头和/或结尾有可选标点,则搜索应返回true。
此正则表达式似乎适用于大多数情况,但如果我在中间的数字中添加一个字母,则会失败。它最终仍然返回True。我应该如何处理此正则表达式,以便它仅在存在符号(可选)、所有数字、符号(可选)的情况下返回true?
应返回True的情况:
不应该返回True的情况(因为字符串中的“y”):
(678983y733)。。
这使您可以在字符串中找到它们,而不仅仅是在开始时。这个允许零或一个符号。如果需要零个或多个前导/尾随符号,请将此更改为*。
([-\\\/\&\.]?)\b([0-9]+)\b([-\\\/\&\.]?)
我想你要找的是re。完全匹配。
import re
ponct = '[' + re.escape('-/\()&') + ']*'
p = re.compile(ponct + '[0-9]+' + ponct)
然后p.fullmatch('(678983y733)
将返回None,而所有其他示例将返回匹配。
你的正则表达式中有一些东西需要改变。
>
第二,括号里有奇怪的东西。你不需要任何东西来完全包围正则表达式,因为$0
已经会返回它。
您的最后一个char类在正则表达式中不是可选的。
您需要用^$
包围所有内容,以确保字符串不是部分匹配。
这是我想出的:
^([-/\\()\s,&.]*)([0-9]+)([-/\\()\s,&.]*)$
注意,([something])
等同于([something]*)
,但后者更具可读性。
我正在尝试编写一个正则表达式,允许数字、逗号和连字符在中间。我有2种模式(x表示数字) xx xx xx xxx xxx xx xx,xx xxx 我在第一个模式中尝试了类似的方法(?:-?[0-9])*$ 我无法破解第二个图案。我对正则表达式的理解不太好,社区的一些帮助会很好。 有没有一种有效的方法来检查单个正则表达式中的两种模式。 谢谢帕拉尼
2.密码必须至少包含一个大写字母、一个小写字母、一个数字和一个标点符号。(例如a-z,a-z,0-9,!@#$%^&*()_+~-=`{}[]:“;'<>?,./) 我尝试使用:{}:“;'<>?,./-][])$` 但是,当我在中测试时,标点符号部分的解释并不清楚 标点符号的解释好像坏了,可以解释一下原因并帮我完成这个。
问题内容: 当我使用某种方式时,它仍然会触发,好像连字符无效。我试着和 问题答案: 转义使用应该没问题,但是您也可以尝试将其放在字符类的开头或结尾。这应该为您工作:
主要内容:实例下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或
密码不能匹配或包含姓氏。 密码必须至少包含1个特殊字符。 密码必须至少包含1个数字字符。 密码必须至少包含2个字母字符。 密码必须至少包含1个大写字母。 密码不能匹配或包含用户ID。 密码不能匹配或包含名字。 密码不能包含以下字符:! 密码不得超过25个字符。 密码长度必须至少为8个字符。 密码必须至少包含1个小写字母。 这些是
问题内容: 我想用以下代码查找字符串中的所有数字: 我还尝试将定界符添加到正则表达式,使用正数作为的第二个参数,使用仅数字字符串,例如“ 123”作为第一个参数… 但是输出总是 我似乎想念一下正则表达式在Go中的工作原理,但是无法绕开它。这不是有效的表达方式吗? 问题答案: 问题出在你的第二个整数参数上。引用以下软件包的文档: 这些例程使用一个额外的整数参数n;如果n> = 0,则该函数最多返回n