2009-01-15 62 views
1

我遇到问题。我想在我的文本中匹配\ t中的所有匹配项(并且\ t我的意思是它实际上不是制表符),但是如果它是\ t字符串的一部分,我想排除匹配项。怎么做?如何排除其他字符串的子字符串

<HTML>Blah</HTML>\t 
D:\\UserData\\tui 

我想匹配\吨在第一行而不是在第二线路(因为它是\\ t的 一部分)。

这是否可以使用正则表达式?

回答

1
/\\t\b/ 

\b字边界(过渡从字状字符非字状,或反之亦然)相匹配。

1

您必须更精确地定义“字符串的一部分”的含义。例如,您可能的意思是:如果后面跟着更多的字母数字或斜杠,则不匹配\ t。因此,这将成为(在Perl):

\\t(?![\w\\]) 
+0

简而言之。我的正则表达式现在是\\ t。 但我不想在下面的文本中找到任何匹配项。 D:\\ UserData \\ tui – Jagger 2009-01-15 16:37:21

0

你将需要究竟哪些情况下\ t应该匹配,并且在哪些不应该来定义,这是之前能够确定一个正则表达式为了它。你目前的定义似乎是“当我看到它时我会知道它”的多样性,这是不够的。

0

另一种方法:匹配除反斜杠之外的任何内容,匹配反斜杠并匹配“t”字符。

/[^\\](\\t)/
相关问题