後文我有這個字符串:正則表達式得到前和連字符
"Common Waxbill - Estrilda astrild"
我怎麼能寫的話2個獨立的正則表達式之前和連字符後?我想輸出是:
"Common Waxbill"
和
"Estrilda astrild"
後文我有這個字符串:正則表達式得到前和連字符
"Common Waxbill - Estrilda astrild"
我怎麼能寫的話2個獨立的正則表達式之前和連字符後?我想輸出是:
"Common Waxbill"
和
"Estrilda astrild"
如果您不能使用查找屁股,但你的弦總是在相同的格式和cannout包含超過一個連字符,你可以使用
^[^-]*[^ -]
對於第二個中的第一個和\w[^-]*$
(或[^ -][^-]*$
如果連字符後的第一個非空間不一定是字字符
的解釋一點點: ^[^-]*[^ -]
匹配的字符串的開始(錨^
),隨後的字符中的任意量,即是不是連字符,也不是連字符或空格的字符(僅用於e包括比賽中的最後一個空間)。
[^ -][^-]*$
採用相同的方法,但反過來,第一匹配的字符那既不空間也不連字符,隨後的字符中的任意量,即沒有連字符和最後的字符串(錨$
)的端部。 \w[^-]*$
基本相同,它使用更嚴格的\w
而不是[^ -]
。這再次用於排除匹配連字符後的空格。
這適用於我。據我自己的知識,你能解釋[^ - ] [^ - ]是如何工作的嗎? –
好奇它是如何工作的,因爲第一個中有一個(輕微)錯誤。添加了一些解釋。 –
這很簡單:
.*(?= -) # matches everything before " - "
(?<= -).* # matches everything after " - "
查看lookaround assertions本教程。
當我得到這個錯誤後,我使用代碼來匹配所有東西:SyntaxError:無效的正則表達式:/(?<= - )。* /:無效的組。我使用的是Chrome擴展程序Web Scraper,它使用js作爲其正則表達式。 –
Javascript沒有向後看。 –
爲什麼不把字符串拆分爲分隔符?不需要正則表達式。 –
你想完成什麼? –