python - Python 中的特殊字符模式匹配

标签 python regex string

我必须在给定字符串内匹配此模式 [**],但它没有给出准确的结果。

import re
str1 = '[**] [1:123:43] hello madam [**]'
m1 = re.match('/[/*/*/] .*', str1)

请帮忙!!

最佳答案

使用反斜杠(\)转义元字符,而不是正斜杠(/):

>>> import re
>>> str1 = '[**] [1:123:43] hello madam [**]'
>>> m1 = re.match(r'\[\*\*\] .*', str1)
>>> m1
<_sre.SRE_Match object at 0x0000000002898100>
>>> m1.group()
'[**] [1:123:43] hello madam [**]'

顺便说一句,使用r'raw stringliteral',您不需要转义反斜杠本身。

<小时/>

如果您只想检查字符串是否以 [**] 开头,请使用 str.startswith :

>>> str1.startswith('[**]')
True

关于python - Python 中的特殊字符模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21335135/

相关文章:

python - 从 PDF 中提取带有不可见线条的表格

c# - c#中的哈希字符串

python - 使用 Selenium 的 text 和 innerHTML 之间的区别

python - tkinter 与 glib mainloop 的集成

html - 当文本中存在多个标签时,如何使用正则表达式将单个 html 标签与内部标签相匹配

java - 使用正则表达式分析Java中的字符串

java - 将 char 值加一

c# - 评估字符串 "3*(4+2)"yield int 18

python - 将 Pandas 日期时间月份转换为字符串表示形式

java - Java 中匹配某个单词零次或一次出现的正则表达式