REGEX - 如何匹配彼此x字符串的两个字符串

时间:2012-01-26 19:50:44

标签: regex

我正在使用使用正则表达式搜索文本文件的软件。然后,可以将与正则表达式匹配的文件用于检查。

我需要搜索必须存在两个字符串的情况,第二个字符串必须出现在第一个字符串之后,但在第一个字符串之后不得超过x个字符。在这种情况下,第二个字符串的最后一个字符始终是撇号。

例如,查找字符串1“ABC”和字符串2“XY”,其中字符串2必须在字符串1结束后不超过5个位置开始:

"ABCxxxxXY" // match

"ABCxxxxxxxxxXY" // not a match.

另一种可能更好的方法是将匹配定义为包含字符串1,然后在下一个撇号之前包含“XY”。

"ABCxxxxxxxxXY" // match.

"ABCxxxxxxxxx'xxxxxXY" // not a match.

由于

迈克·托马斯

3 个答案:

答案 0 :(得分:3)

  

查找字符串1“ABC”和字符串2“XY”,其中字符串2必须在字符串1结束后开始不超过5个空格

这样做。

 /ABC.{1,5}XY/

  

另一种可能更好的方法是将匹配定义为包含字符串1,然后在下一个撇号之前包含“XY”。

你需要这个,

 /ABC[^']*'.*(?=XY)XY/

答案 1 :(得分:0)

您可以尝试在两者之间指定确切的匹配数。

^ABC.{0,5}XY$

这表示“匹配任何以ABC开头并且以0结尾以任意类型的字符重复的任何内容。”

答案 2 :(得分:0)

/ABC[^\']{0,5}XY'/

应与您的第二个问题相符。