有以下语句
title="beijing" && body="login" && (title="a")
想实现的功能如下:
title
时,正则表达式可以把title
作为关键字提取出来title="beijing" && body
时,正则表达式可以把body
作为关键字提取出来title="beijing" && body="login" && (title="a" && body)
时,正则表达式可以把小括号中body
作为关键字提取出来上述功能主要是把=号左值(关键词)提取出来,从而实现键入关键词时自动匹配给予提示的功能
注意:语法不固定,比如title="beijing" && body="login" && (title="a")
,下次可能body="beijing" && body="login" && (ip="123" || ip="xxx")
1.
(?<=\btitle\b).*?(?=\=)
2.
(?<=\btitle="beijing" && \b).*?(?=\=|&&|\(|$)
3.
(?<=\btitle="beijing" && body="login" && \(.*\b).*?(?=\=|&&|\)|$)
要实现你描述的功能,可以使用以下正则表达式:
\b(\w+)\b|\((\w+)\)
这个正则表达式可以匹配两种类型的模式:
\b(\w+)\b
:匹配一个完整的单词(由字母、数字或下划线组成),例如title
或body
。\((\w+)\)
:匹配小括号内的单词。注意,这个小括号是正则表达式的一部分,必须在特殊字符前面加上反斜杠进行转义。这个正则表达式会提取出符合要求的单词,你可以在提取结果中查找和提取出小括号内的内容。
以下是一个使用Python实现这个正则表达式的例子:
import retext = "title=\"beijing\" && body=\"login\" && (title=\"a\")"pattern = r'\b(\w+)\b|\((\w+)\)'matches = re.findall(pattern, text)for match in matches: if isinstance(match, tuple): # 如果匹配到的是完整单词 print(f"完整单词: {match[0]}") else: # 如果匹配到的是小括号内的单词 print(f"小括号内单词: {match}")
这段代码将输出以下结果:
完整单词: title完整单词: body小括号内单词: title="a"
可以看到,这段代码成功地找到了title
、body
以及小括号内的title="a"
中的title
。
问题内容: 输入线在下面 你能帮我写一个Java正则表达式来提取 从上方输入线? 问题答案: 更加简洁:
问题内容: 我想提取所有 用 大括号括起来的 单词 ,所以我有一个这样的表达式 匹配的字符串可能包含任意多个这样的单词,但是我开始认为我正在以错误的方式解决此问题。 我的尝试 而且我尝试将花括号这些词提取为组,以便可以使用每一个匹配项。所以,我做了一个正则表达式: 注意:我使用的是JRegex语法,因此我需要避免掉一些curl。 结果 我得到的结果是一个(虽然是正确的)比赛,而我希望有两个比赛和。
我需要通过不在括号中的管道拆分文本。这是示例文本 我在这里找到了这个/\ |(?![^{]*})/g:regex,提取字符串,不要在两个括号之间 现在当我想用管子分割这部分字符串时 它还选择杰森、玛丽亚和圣诞老人之间的管道,因为它们后面有一个开口支架。如果正则表达式不在任何括号中,如何将其更改为仅匹配管道。 测试字符串: 应该返回 . 应该返回
问题内容: 匹配字符串中的’(’的正则表达式是什么? 以下是场景: 我有一串 我想使用正则表达式拆分字符串。为此,我正在使用 但是我收到以下异常。 转义似乎不起作用。 问题答案: 两种选择: 首先,你可以使用转义 回 斜线- 另外,由于它是单个字符,因此您可以将其放入不需要转义的字符类中-
问题内容: 我想使用正则表达式获取所有括号内的所有子字符串。 作为字符串“ foo(bar)foo(baz)golang”的示例,我想要“ bar”和“ baz” 在python中我可以做 怎么做呢? 问题答案: 的软件包不支持零宽度环顾四周。您可以通过以下功能利用捕获的分组: 输出: 正则表达式: 匹配文字 匹配串高达旁边,并把比赛以捕获组,在这里你可以使用非greeedy比赛太 匹配文字 去游
问题内容: 我有类似的东西 商店 结束行像1商店..我想匹配,它使用python正则表达式。 我尝试了类似的方法, 但是没有用。 编辑:添加代码,我试过 请帮助。 谢谢吉乔 问题答案: 或多或少直接回复您的评论 尝试这个 解决方案是使用,而不是使用后者,因为后者试图将整个字符串与regexp匹配,而前者只是试图在字符串内部查找与表达式匹配的子字符串。