簡體   English   中英

R 正則表達式使用“+”“?” 或者 ”*”

[英]R Regular Expression using "+" "?" or "*"

來自https://stringr.tidyverse.org/articles/regular-expressions.html

它描述了使用以下方法控制模式出現的次數:

  • ?:0 或 1。
  • +:1個或更多。
  • *:0或更多。

所以這很有效:

str_view("hello123world", "123?")

但是,為什么不呢?

str_view("cycyccyccccc", "ccc?")

上面高亮顯示字符串開頭的 cc。

我期待它在最后一行 c 中突出顯示三個 c。

您通過"ccc?"的正則表達式"ccc?" 意味着(在文字中)“c 后跟 c 后跟零或一個 c”,因此str_view為您提供連續兩個 c 的第一個實例(因為 c 后跟 c 后跟零 c)。

如果你想要正好 3 c,你可以使用

str_view("cycyccyccccc", "ccc")

或者,如果您想要 3 個或更多 c,則可以使用

str_view("cycyccyccccc", "c{3,}")

暫無
暫無

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

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