我想从字符串的开头删除单个*字符和任何空格。
这是我有/^\*{1}(?:\s+)?/
这是一个Rubular链接http://rubular.com/r/r5i4FpQdK2
然而,当我尝试使用它时,Ruby会发出警告。
001:0> regex = /^\*{1}(?:\s+)?/
warning: nested repeat operator + and ? was replaced with '*': /^\*{1}(?:\s+)?/
=> /^\*{1}(?:\s+)?/
实际测试仍然有效
002:0> "* foo" =~ regex
=> 0
但我无法弄清楚导致警告的原因。
任何建议都将不胜感激。
答案 0 :(得分:1)
而不是(?:\s+)?
使用(?:\s*)
或仅使用\s*
\s+
允许一个或多个空格,以下?
使其成为可选内容,可以将零或更多空格替换为\s*