簡體   English   中英

匹配可選的行尾

[英]Match optional end of line

嘿我想在MySQL中使用正則表達式來匹配行。 它需要匹配模式結束的行與任何不是數字或行尾的行。

這種模式適用於Ruby /download:223(?:[\\D]|$)/在MySQL中它不匹配。 我猜它不允許eol的可選匹配。

SELECT id FROM stories WHERE body REGEXP 'download:223(?:[\D]|$)'

我需要匹配以下內容(引號僅為了清晰起見):

"download:223"
"download:223*"
"download:223 something"
"download:223 more text"

但不是以下(為了清楚起見再次引用):

"download:2234"
"download:2234 more text"
"download:2234*"
"download:2234* even more"

謝謝!

MySQL正則表達式不支持非捕獲組。 其余的應該沒問題。 它絕對支持$匹配字符串的結尾。 此外,\\ D不受支持,但您可以使用[^ 0-9]

嘗試這個:

SELECT id FROM stories WHERE body REGEXP 'download:223([^0-9]|$)'

MySQL組不捕獲,因此不需要支持非捕獲組。

參考源: 在MySQL REGEXP中使用非捕獲組

這個正則表達式應該適合你:

"download:223([^0-9]|$)"

MySQL正則表達式引擎不支持\\ D,\\ d等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM