我对正则表达式很新,并且对我的例子有点困惑:
我有像这样的标题:
我想要做的是匹配标题末尾的HD或(HD)以及之前的“,”或“”。
通常在我的例子中,我希望匹配除“超人”之外的所有内容,并且在最后2个标题中不匹配。
我正在尝试这样的事情:
[\s,HD|\(HD\))]
但它也匹配所有其他“H”“D”“,”和“”。
任何人都可以提供一些帮助吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
您需要在正则表达式中使用行尾标记$
,并使其他字符可选:
/\s*,?\(?HD\)?$/
答案 2 :(得分:0)
对于您的示例,请尝试以下模式:
/(?<=\bSuperman)(\s*,?(?:HD|\(HD\)))/g
说明:
(?<=\bSuperman) # positive lookbehind to assert 'Superman' is behind
\s* # match 0 or more spaces
,? # match literal , 0 or one time
(?:HD|\(HD\)) # the ending could be 'HD' or '(HD)'
答案 3 :(得分:-1)
如果这是超人之后的所有事情,那么请使用这种积极的外观:
(?<=Superman).*
如果它只是HD或(HD)有或没有,那么:
(?<=Superman)\s?,?HD|\(HD\)