Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python正则表达式:匹配特定字符串和空格或_Python_Regex_Optional - Fatal编程技术网

Python正则表达式:匹配特定字符串和空格或

Python正则表达式:匹配特定字符串和空格或,python,regex,optional,Python,Regex,Optional,我对regex非常陌生,对我的示例有点困惑: 我有这样的题目: 超人 超人高清 超人(高清) 超人,高清 超人(高清) 动手 动手 我想做的是匹配标题末尾的HD或(HD)以及前面的“,”或“” 通常在我的例子中,我想匹配除“超人”之外的所有东西,但在最后两个标题中没有匹配任何东西 我正在尝试这样的事情: [\s,HD|\(HD\))] 但它也匹配所有其他的“H”“D”“和” 有人能帮点忙吗 如果一切都在超人之后,那么就用这个积极的回头看: (?<=Superman).* (?使用此

我对regex非常陌生,对我的示例有点困惑:

我有这样的题目:

  • 超人
  • 超人高清
  • 超人(高清)
  • 超人,高清
  • 超人(高清)
  • 动手
  • 动手
我想做的是匹配标题末尾的HD或(HD)以及前面的“,”或“”

通常在我的例子中,我想匹配除“超人”之外的所有东西,但在最后两个标题中没有匹配任何东西

我正在尝试这样的事情:

[\s,HD|\(HD\))]
但它也匹配所有其他的“H”“D”“和”


有人能帮点忙吗

如果一切都在超人之后,那么就用这个积极的回头看:

(?<=Superman).*
(?使用此模式:

/(?:,| )(?:HD|\(HD\))/
/(?<=\bSuperman)(\s*,?(?:HD|\(HD\)))/g

您需要在正则表达式中使用行尾标记
$
,并使其他字符可选:

/\s*,?\(?HD\)?$/

对于您的示例,请尝试以下模式:

/(?:,| )(?:HD|\(HD\))/
/(?<=\bSuperman)(\s*,?(?:HD|\(HD\)))/g

/(?该正则表达式检查器中的文本错误,应该只有一行