Javascript 仅当字符串后面有某些字符时才匹配的正则表达式
我需要找到一个包含“script”的字符串,该字符串的前后字符数相同,并包含在Javascript 仅当字符串后面有某些字符时才匹配的正则表达式,javascript,regex,Javascript,Regex,我需要找到一个包含“script”的字符串,该字符串的前后字符数相同,并包含在中。我可以用: 我还希望仅当该字符串后面没有时才进行匹配,使用and/or可以更好地解决这一问题 JavaScript方法您与正则表达式的关系非常密切。您只需要使用一个?第二次之后*。试试这个: (?i)[^ 有一个名为的应用程序,它确实有助于设计正则表达式字符串。试一试 说明:如果没有?non greedy参数,您的第一个>之前的第二个*将使搜索一直进行到字符串的末尾,并在该点抓住结尾处的>。查询中的其他内容甚至都没
中。我可以用:
我还希望仅当该字符串后面没有
时才进行匹配,使用and/or可以更好地解决这一问题
JavaScript方法您与正则表达式的关系非常密切。您只需要使用一个?第二次之后*。试试这个:
(?i)[^
有一个名为的应用程序,它确实有助于设计正则表达式字符串。试一试
说明:如果没有?non greedy参数,您的第一个>之前的第二个*将使搜索一直进行到字符串的末尾,并在该点抓住结尾处的>。查询中的其他内容甚至都没有被查看
编辑:在开头添加(?i)以区分大小写。如果您想要一个特定于javascript的不区分大小写的正则表达式,可以这样做:
/[^/i
我注意到您的正则表达式中有用于创建组的括号,但您没有明确表示您正在尝试捕获组。是否要捕获
和
之间的内容?如果是,则为:
/([^/i
如果我了解您在寻找什么,请尝试一下:
regex = "<\s*script\s*>([^<]+)<"
regex=“([^是否尝试使用regex解析HTMl?这不是一个好主意。不,我正在解析控制台输出。也许您可以给出一两个简短的示例源字符串,以及您希望在“匹配”中使用的内容“。从上面的描述很难理解你想要在比赛中得到什么当然,谢谢SactoJosh。谢谢SactoJosh!我感谢你的时间!我一直在做快速测试。非常感谢狙击手!这也很有效!”!
import re
textlist = ["<script>show this</script>","<script></script>"]
regex = "<\s*script\s*>([^<]+)"
for text in textlist:
thematch = re.search(regex, text, re.IGNORECASE)
if thematch:
print ("match found:")
print (thematch.group(1))
else:
print ("no match sir!")