我想匹配的字符串:如何匹配字符串匹配[A-Z _] *,但與非重複符號 「_」
- 由組成[A-Z_]。
- 這不以「_」開始或結束;
- 這不包括重複的「_」符號。
因此,例如預期的匹配結果將是:
"x"; "x_x" > TRUE
"_x"; "x_"; "_x_"; "x__x" > FALSE
我的問題,實現這是我可以排除結束或者以「_」,但我的正則表達式也排除了長度爲1名的字符串的字符串。
grepl("^[a-z][a-z_]*[a-z]$", my.string)
我的第二個問題是,我不知道如何來否定匹配雙字符grepl("(_)\\1", my.string)
以及如何我可以用我的正則表達式的第1部分它集成。
如果可能我想用perl = FALSE
來做到這一點。
什麼'_x_x'或'_x_x_'? – akrun
@akrun懷疑他們在以_開頭時都失敗。但是'x_x_x'呢?你想拒絕*毗鄰*'_'或任何地方有多個字符串的任何字符串? – Spacedman
他們不應該匹配,因爲他們開始或以「_」結尾 –