Regex 如何使用正则表达式从字符串中获取值?

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

我想使用正则表达式从下面的字符串中提取值

“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-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中,反斜杠(
\
)是转义字符,因此需要在字符串中转义,因此在输出中使用双反斜杠。在正则表达式中,反斜杠也是转义字符,因此在正则表达式中使用双反斜杠。因为它被定义为原始字符串(注意字符串前面的r
r'…'
),Python不需要我们转义,我们转义是为了正则表达式引擎。否则,您可以在普通字符串中使用4个反斜杠:
“\\\\”([\\sa-zA-z0-9]+\\\?”?[\\sa-zA-z0-9]+\\\?“?[!
]*)\\”`。如果在您的编程语言中没有可用的原始字符串,则需要执行此操作。

Regex的实现和结构因语言而异(略有不同)。所以,请经常提及你感兴趣的语言。