1

我是 Regex 的新手,我需要从网站解析源代码。谁能告诉我匹配一个单词后跟字符串中接下来的 n 个字符的语法是什么。

假设我想匹配单词“country”,然后是字符串中的下 15 个字符。

如果字符串是 "...<tr class="hover"><td>country</td><td>RO</td></t......" 我需要得到 "country</ td><td>RO" ,我可以像这样处理字符串,理想情况下只有“country RO”,但我不想要求太多。

4

2 回答 2

0

根据您的正则表达式引擎的风格:

"country.{15}"

应该完全匹配“国家”,后跟 15 个任意字符。

值得注意的是,这是完全匹配的。如果单词“country”后面没有正好 15 个字符,则此匹配将失败。这对你来说可能是个问题。

"country.{1,15}"

这将匹配“国家”后跟任何字符(最多 15 个)。同样,这也可能是有问题的,具体取决于您的用例。

于 2013-01-26T23:47:50.017 回答
0

就像是:(country)<\/td><td>(\.\.)

使用 $1 $2 作为您的输出应该可以满足您的需求。

解释:

  1. 将 () 括号放在某物周围可以让您用 $1 等回溯引用它。
  2. 否则,您可以匹配精确的字符。
  3. 注意用反斜杠转义特殊的正则表达式字符,如 /
  4. 括号中的第二个匹配只是匹配接下来的两个字符,无论它们是什么。如果你有一个子集,这些可以是(即[A-Za-z]),最好使用它

有了这个假设,我会使用类似的东西:(country)<\/td><td>([A-za-z]{2})

也有助于找到一个好的参考:http ://www.regular-expressions.info/reference.html

于 2013-01-26T23:50:25.380 回答