这与:正则表达式:在引号之间抓取值有关。
如果有这样的字符串:
HYPERLINK "hyperlink_funda.docx" \l "Sales"
链接上给出的正则表达式
(["'])(?:(?=(\\?))\2.)*?\1
他给了我
[" HYPERLINK ", " \l ", " "]
什么正则表达式将返回包含在引号中的值(特别是在\"
标记之间)?
["hyperlink_funda.docx", "Sales"]
使用Java,String。拆分(字符串正则表达式)
way。
我认为您误解了字符串的性质。拆分
方法。它的工作是找到一种通过匹配分隔符的特征来拆分字符串的方法,而不是通过匹配要返回的字符串的特征。
相反,您应该使用模式
和匹配器
:
String txt = " HYPERLINK \"hyperlink_funda.docx\" \\l \"Sales\" ";
String re = "\"([^\"]*)\"";
Pattern p = Pattern.compile(re);
Matcher m = p.matcher(txt);
ArrayList<String> matches = new ArrayList<String>();
while (m.find()) {
String match = m.group(1);
matches.add(match);
}
System.out.println(matches);
你不应该把它用在中。分裂()
方法。相反,使用Pattern
捕获组:
{
Pattern pattern = Pattern.compile("([\"'])((?:(?=(\\\\?))\\3.)*?)\\1");
Matcher matcher = pattern.matcher(" HYPERLINK \"hyperlink_funda.docx\" \\l \"Sales\" ");
while (matcher.find())
System.out.println(matcher.group(2));
}
输出:
基金会。docx
销售
这是一个正则表达式演示,这是一个在线代码演示。
我有这样一个价值观: 什么正则表达式将返回包含在引号中的值(例如和)?
我正在寻找正确的regex来为我提供以下结果: null 例子: 福吧 组1:foo 组2:bar 说明:在空格上拆分 组1:foo bar 描述:用双引号包围,所以将foo和bar分组,但不要打印双引号 null null null null null 组1:foo bar 组2:堆栈溢出 组1:foo'bar 组2:堆栈溢出 组3:如何 组4:do 组5:您 组6:do
问题内容: 如何获得以下两个文本中引号之间的含义? 我的问题是,如果引号被转义,则应将其忽略,但是有可能使反斜杠转义。 我想获得以下团体。 问题答案: 匹配带引号的字符串,包括其中出现的所有转义字符。 说明:
问题内容: 我有以下测试(格式如下): 我正在尝试获取“测试部分:”和“我的部分”之后的文本 我用不同的RegEx模式进行了几次尝试,但结果一无所获。 如果我做: 然后,我得到正确的答复: 但是,如果我这样做 我没有结果。结果应为“我的第二 部分 ” 我也尝试过使用RegEx Multiline,但没有结果。 任何帮助,将不胜感激。 如果重要的话,我正在Python 2.7中进行编码。 如果不清楚
在我的应用程序中,我可以接受如下格式的字符串: 现在我想写一个regex模式来检查这个格式,所以我写这个模式: https://regex101.com/r/oM1qO9/3 这个模式可以工作,但如果我将字符串更改为下面的示例,请再次工作,因为选择第一个引号和最后一个引号,这样字符串就与模式匹配。 https://regex101.com/r/oM1qO9/4
我想使用编写Regex表达式,以找到第一个没有包裹在单引号或双引号周围的字符。 我有下面的字符串我想找到的唯一的是null后面的那个。 我不确定如何用正则表达式来表示“notbetween”。这是我试过的 但这符合我的期望。 我如何才能正确地找到没有括在引号周围的右括号? 使用C#应返回第一个匹配项。 这里更新了一些我希望能够评估的文本 (“some()test 1”,“some text)”,1