【问题标题】:Match characters prior to word?在单词之前匹配字符?
【发布时间】:2014-06-04 03:32:16
【问题描述】:

我已经做了好几个小时了,最后决定放弃并问。

我需要一个 JavaScript 正则表达式来匹配这样的东西:

  • asdfURL
  • 123网址
  • @#URL

除了 <> 之外,基本上是 URL 之前的任何内容。

我能够处理单词之后的字符(如下),但不能处理之前的字符。我需要之前和之后!

/^(?=\bURL)[^<> ]+$/i

所以基本上$B#5t4rg3b4URLDFSGre4r 应该匹配而FGWEG$R$G$?&gt;URL&lt;9TGSG 不应该。

【问题讨论】:

  • 我清理了你的问题。有趣的。但是我所做的这个编辑正确吗? Basically anything before the word URL except &lt; and &gt;.
  • 这个答案可能会有所帮助:stackoverflow.com/questions/4739759/…

标签: javascript regex


【解决方案1】:

你应该使用组

var myRegexp =/([^<> ]*)URL([^<> ]*)/ig;
var match = myRegexp.exec(input);
alert(match[1]);//before
alert(match[2]);//after

【讨论】:

  • 这很好用。不幸的是,我忘了补充一点,我需要解析一个匹配的文本块,而不仅仅是一个字符串。 (可惜我的愚蠢并没有让这变得不那么正确。)
猜你喜欢
  • 2011-09-01
  • 1970-01-01
  • 2020-06-05
  • 2016-05-14
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
相关资源
最近更新 更多