【问题标题】:Exclude a Substring using Regex in Java在 Java 中使用正则表达式排除子字符串
【发布时间】:2013-10-02 06:40:50
【问题描述】:

我想取一个像src=' blah src='' blah 这样的字符串并忽略第一个src='

预期结果应该是:blah src='' blah

我试过了:blah(?!:(src\\s*?=\\s*?))

我在这里看到其他帖子提到 ^(...).*$ 但我真的不明白如何应用它或真正如何使用否定。 java教程提到了[^abc],但是它也可以用于正则表达式而不仅仅是字符吗?例如[^src\\s=]

【问题讨论】:

  • 为什么这不起作用:^(?!.*(src=)|(src\\s=)).*$

标签: negation


【解决方案1】:

除非您遇到更复杂的情况,否则简单的“src'(.*)”应该可以完成工作:

Pattern pattern = Pattern.compile( "src='(.*)");
Matcher matcher = pattern.match( "src=' blah src='' blah");

if ( matcher.find( )) {
   String result = matcher.group(1); // Here is the extracted string just like you wanted.
}

【讨论】:

  • 我想我明白你在说什么,但这不也符合我不想要的字符串吗?我正在尝试将一个概念应用于一个小示例,以便在我处理需要面对的更大混乱时理解它。
猜你喜欢
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 2022-01-03
  • 2011-05-13
  • 1970-01-01
  • 2011-12-29
相关资源
最近更新 更多