2016-03-17 28 views
0

非常簡單,但我無法使其工作。正則表達式可以在一個整個單詞中找到兩個單詞

我想找到一個連續字符串內的兩個詞(或一個整字)

例如

找我兩個字 - 「學生」,只有在整個字符串「名」(未分離用空格或其他字/字符)

所以覺得這些......

「studentname」

「studentpreferredname」

「studentgivennames」

「student_name」

「的學生(^&( &(&( & &^&^ &^&^ & ^%^ &%名稱 「

但不是在這...

學生

學生 [多個空格] 名稱

學生是他們

「的學生是」

「很久以前,我想這學生也有類似的 改爲「

我唯一可以得到的工作正則表達式:

學生*名稱

但是,這帶來了在上述情況下用各種字符和單詞其間的。

謝謝

UPDATE

請參見下面的回答。

這工作完美。

\ bstudent \ S *名\ b

回答

0

正則表達式中的點/./是除換行符之外的任何字符,這就是爲什麼它不適用於您。

您可能需要使用非空白字符/\S/,這是一個簡化/[^ \t\r\n\f]/。最後,你的正則表達式應該是這樣的:

/student\S*name/ 

您可以在documentation閱讀紅寶石更多關於正則表達式。

+0

不好意思,我給了你一些榮譽,但我已經把它們刪除了。上述不起作用。我正在使用grepWin及其測試正則表達式功能。我輸入了簡單的「學生名」,但沒有匹配。我嘗試過「studentpreferredname」,但沒有匹配。 – Fandango68

+0

其實它確實有效。我只需要用'\ b'替換'/' – Fandango68

+1

這是因爲我使用了正則表達式的'Ruby'語法。我很高興能夠提供幫助。 – Walerian

0

如果我正確理解你的問題,你想匹配studentname之間沒有空格字符。

如果是這種情況,請嘗試student[^ ]*name[^ ]匹配不是空格的字符。

+0

號不只是那些在之間的空間(S)。我想在整個單詞(字符串)中找到單詞STUDENT和NAME。如果你知道我的意思,那不是那些有詞語和空格的人。 – Fandango68

0

這解決了它對我來說(從here)。

\ bstudent \ S *名\ b

相關問題