Python 需要帮助构建正则表达式吗
我正在尝试构建一个正则表达式,它将捕获字符串开头的三种模式之一。我已经知道了如何捕捉每种模式,但还没有知道如何编写一个正则表达式来匹配这三种模式。以下是模式(每个模式的末尾都包含一个空格字符):Python 需要帮助构建正则表达式吗,python,regex,Python,Regex,我正在尝试构建一个正则表达式,它将捕获字符串开头的三种模式之一。我已经知道了如何捕捉每种模式,但还没有知道如何编写一个正则表达式来匹配这三种模式。以下是模式(每个模式的末尾都包含一个空格字符): R[eE]: R[eE]:\[a2geeks\] R[eE]:\[a2geeks\]R[eE]: 我觉得有一种优雅的方法可以做到这一点,但我已经为此奋斗了大约一个小时。最好的答案也会向我解释为什么它会起作用。这可能会起作用。()中包含的两个组是由?(=前面的一个或多个表达式)可选的。最后的R[eE]
R[eE]:
R[eE]:\[a2geeks\]
R[eE]:\[a2geeks\]R[eE]:
我觉得有一种优雅的方法可以做到这一点,但我已经为此奋斗了大约一个小时。最好的答案也会向我解释为什么它会起作用。这可能会起作用。
()
中包含的两个组是由?
(=前面的一个或多个表达式)可选的。最后的R[eE]
嵌套在一个较大的()
组中,因为中间模式[a2geek]
需要首先出现
^
表示模式应在字符串的开头匹配,而ned处的*
则与此模式后面的字符串的其余部分匹配
^R[eE]:(\s\[a2geeks\](\sR[eE]:)?)?(.*)
这可能会起作用。
()
中包含的两个组由?
(=前面的一个或多个表达式)设置为可选。最后的R[eE]
嵌套在更大的()
组中,因为中间模式[a2geek]
需要首先出现
^
表示模式应在字符串的开头匹配,而ned处的*
则与此模式后面的字符串的其余部分匹配
^R[eE]:(\s\[a2geeks\](\sR[eE]:)?)?(.*)
使用正则表达式(可选):
^R[eE]: (\[a2geeks\] (R[eE]:)?)?
使用正则表达式(可选):
^R[eE]: (\[a2geeks\] (R[eE]:)?)?
什么风格的正则表达式?什么语言?@Michael I…不知道有什么风格。但如果有帮助的话,这将出现在一些Python代码中。Perl、POSIX、SED有不同的语法。什么风格的正则表达式?什么语言?@Michael I…不知道有什么风格。但是如果有帮助的话,这将出现在一些Python代码中。有不同的语法Perl、POSIX、sedAh的语法,在看到它有完美的意义之后。确切的一个结果是非常微小的不同(
^R[eE]:\s(\[a2geeks\]\s(R[eE]:\s)?)?
),但是谢谢你。啊,在看到它有完美的意义之后。确切的一个结果是非常微小的不同(^R[eE]:\s(\[a2geeks\]\s(R[eE]:\s))?
)谢谢。