0

我怎样才能把它写成正则表达式?

制表空间STRING制表空间

我的数据如下所示:

12345   adsadasdasdasd  30
34562   adsadasdasdasd  asdadaads<adasdad   30
12313   adsadasdasdasd  asdadas dsaads  313123<font="TNR">adsada    30
1232131 adsadasdasdasd  asdadaads<adasdad"asdja <div>asdjaıda   30

我想得到

12345   30
34562   30
12313   30
1232131 30

\t*\t不起作用。

4

4 回答 4

1

尝试以下正则表达式

\t.+\t
于 2012-04-16T12:22:10.907 回答
0

如果您不确定要查找的字符串,除了它们由制表符分隔之外,这是一种将此类字符串描述为除制表符之外的所有内容的好方法: (^\t*)

[^\t]*\t([^\t]*)\t[^\t]*

您可以在regexpad.com上对其进行测试。

于 2012-10-15T20:28:28.123 回答
0

您的字符串中允许使用哪些字符?

\t\w+\t

\w将允许字母、数字和下划线(取决于您的正则表达式引擎 ASCII 或 Unicode)

在 Regexr 上查看它,这是一个测试正则表达式的好平台。

您的“正则表达式”\t*\t将匹配 0 个或多个选项卡,然后匹配一个选项卡。*是一个量词,意思是 0 或更多,指的是之前的字符或组(这里指你的\t

如果你的空格不是制表符,试试这个

\s+.+\s+30

\s是一个空白字符(空格、制表符、换行符(对 Notepad++ 不重要))。

于 2012-04-16T12:24:56.543 回答
0

问题在于您对字符串的定义...

如果你使用上面建议的东西,它会匹配

制表空间STRING制表空间制表空间

你得到图片。这可能是可以接受的,如果不是,您需要限制您的“STRING”定义,例如:

\t\w+\t

或者:

\t[a-zA-Z]+\t
于 2012-04-16T12:25:33.507 回答