Regex 如何使用正则表达式从字符串中获取值?
我想使用正则表达式从下面的字符串中提取值 “a:4:{i:0;s:24:\“你好”“特约·奎师那”!!!“i:1;s:11:\你好”“xyz\”“i:2;s:6:\失败”“i:3;s:7:模式”;” 上面的字符串我想提取斜体格式的文本。 谢谢你的帮助Regex 如何使用正则表达式从字符串中获取值?,regex,Regex,我想使用正则表达式从下面的字符串中提取值 “a:4:{i:0;s:24:\“你好”“特约·奎师那”!!!“i:1;s:11:\你好”“xyz\”“i:2;s:6:\失败”“i:3;s:7:模式”;” 上面的字符串我想提取斜体格式的文本。 谢谢你的帮助 谢谢,可接受字符的确切限制尚不清楚,您也不知道该语言。但是在Python中,以您的示例为例,下面的正则表达式是有效的。如果您希望输入中有更多类型的字符,只需扩展这些类: import re myre = re.compile(r'\\"([\sa
谢谢,可接受字符的确切限制尚不清楚,您也不知道该语言。但是在Python中,以您的示例为例,下面的正则表达式是有效的。如果您希望输入中有更多类型的字符,只需扩展这些类:
import re
myre = re.compile(r'\\"([\sa-zA-z0-9]+\\?"?[\sa-zA-z0-9]+\\?"?[!`]*)\\"')
s = r'"a:4:{i:0;s:24:\"hello \"tejo krishna\"!!!`\";'\
r'i:1;s:11:\"hello \"xyz\"\";i:2;s:6:\"defeat\";i:3;'\
r's:7:\"pattern\";}"'
match = myre.findall(s)
# results
# ['hello \\"tejo krishna\\"!!!`', 'hello \\"xyz\\"',
# 'defeat', 'pattern']
注意:在Python中,反斜杠(\
)是转义字符,因此需要在字符串中转义,因此在输出中使用双反斜杠。在正则表达式中,反斜杠也是转义字符,因此在正则表达式中使用双反斜杠。因为它被定义为原始字符串(注意字符串前面的rr'…'
),Python不需要我们转义,我们转义是为了正则表达式引擎。否则,您可以在普通字符串中使用4个反斜杠:“\\\\”([\\sa-zA-z0-9]+\\\?”?[\\sa-zA-z0-9]+\\\?“?[!
]*)\\”`。如果在您的编程语言中没有可用的原始字符串,则需要执行此操作。Regex的实现和结构因语言而异(略有不同)。所以,请经常提及你感兴趣的语言。