正则表达式使用python

时间:2015-07-13 06:45:51

标签: python regex

当我想检查输入正则表达式是否正确时,我遇到了一些问题。

我想检查每个符号前是否有一个反斜杠,但我不知道如何使用Python实现。

例如:

  • number: 123456789。 (返回False
  • phone\:111111(返回True

我尝试在Python中使用(?!)(?=),但它不起作用。

更新

我想匹配以下字符串:

\~\!\@\$\%\^\&\*\(\)\{\}\[\]\:\;,{ {1}},\"\'\>\<

非常感谢。

3 个答案:

答案 0 :(得分:0)

检查整个字符串是由单个字符还是反斜杠+符号对组成:

import re
def has_backslash_before_every_symbol(s):
    return re.match(r"^(\\[~!@$%^&*(){}\[\]:;"'><?]|[^~!@$%^&*(){}\[\]:;"'><?])*$", s) is not None

Python正则表达式引用:https://docs.python.org/3/library/re.html

答案 1 :(得分:0)

changed

有效吗?

答案 2 :(得分:0)

在线条之间进行一点阅读,听起来你正试图将字符串传递给正则表达式,并且你想确保它没有未转义的特殊字符。

Python的re模块有一个内置的re.escape()函数。

示例:

>>> import re
>>> print(re.escape("phone:111111"))
"phone\\:111111"