2012-04-16 81 views
0

如何將它寫成正則表達式?正則表達式=製表符空間+ STRING +製表符空間

tabspaceSTRINGtabspace

我的數據是這樣的:

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不起作用。

回答

1

試試下面的正則表達式

\t.+\t 
+0

我試圖找到並替換純文本文件上的所有垃圾信息。 它看起來像這樣:查找字段的標籤空間TOTALLYRANDOMSTRINGtabspace30 :\ t。+ \ t30 替換字段:\ t30 但它不起作用。我正在使用notepad ++,正則表達式選項處於活動狀態。任何幫助? – mitcanmit 2012-04-16 12:48:28

+0

我只是用Notepad ++試過,它適用於我。 – 2012-04-16 12:58:24

+0

我剛剛添加了我的示例數據。 – mitcanmit 2012-04-16 13:08:34

0

被允許在字符串中的字符是什麼?

\t\w+\t 

\w將允許字母,數字和下劃線(取決於你的正則表達式引擎ASCII或Unicode)

看到它here on Regexr,一個良好的平臺來測試正則表達式。

您的「正則表達式」\t*\t將匹配0個或多個選項卡,然後是一個選項卡。該*是一個量詞含義0以上,如果你的空白不是標籤之前提到的字符或組(在這裏你\t

,試試這個

\s+.+\s+30 

\s是一個空白字符(空格,製表符,換行符(對記事本++不重要))。

+0

我試圖找到並替換純文本文件上的所有垃圾信息。它看起來像這樣:查找字段的tabspaceTOTALLYRANDOMSTRINGtabspace30:\ t。+ \ t30替換字段:\ t30但它不起作用。我正在使用notepad ++,正則表達式選項處於活動狀態。任何幫助? – mitcanmit 2012-04-16 12:50:50

+0

如果您有其他信息,請編輯您的問題。我在我的Notepad ++(v5.9.8)中試過這個,它工作,所以不知道你的問題在哪裏。你確定這些空格是製表符嗎? – stema 2012-04-16 12:58:46

+0

我剛剛添加了我的示例數據。 – mitcanmit 2012-04-16 13:08:14

0

問題有你的字符串的定義...

如果你使用類似上述的建議,它會匹配

tabspaceSTRINGtabspacetabspace

你得到的圖片。這可能是可以接受的,如果不是,你需要限制你的「STRING」的定義,如:

\t\w+\t 

或:

\t[a-zA-Z]+\t 
0

如果你不知道,除了你正在尋找琴絃它們是由製表符分隔它來形容這樣的字符串作爲一切,但一個標籤一個好辦法:(^ \ T *)

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

您可以測試它regexpad.com