我正在使用使用正则表达式搜索文本文件的软件。然后,可以将与正则表达式匹配的文件用于检查。
我需要搜索必须存在两个字符串的情况,第二个字符串必须出现在第一个字符串之后,但在第一个字符串之后不得超过x个字符。在这种情况下,第二个字符串的最后一个字符始终是撇号。
例如,查找字符串1“ABC”和字符串2“XY”,其中字符串2必须在字符串1结束后不超过5个位置开始:
"ABCxxxxXY" // match
"ABCxxxxxxxxxXY" // not a match.
另一种可能更好的方法是将匹配定义为包含字符串1,然后在下一个撇号之前包含“XY”。
"ABCxxxxxxxxXY" // match.
"ABCxxxxxxxxx'xxxxxXY" // not a match.
由于
迈克·托马斯答案 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'/
应与您的第二个问题相符。