我试图在R中提取左括号但是得到以下错误。
text = "suppressWarnings( Gauge_Rule_Extraction( machine_id, gauge_output_calculation_df, host ) )"
gregexpr( "(", text )
Error in gregexpr("(", m) :
invalid regular expression '(', reason 'Missing ')''
但我能够提取右括号。
gregexpr(")", m)
[[1]]
[1] 123 125
attr(,"match.length")
[1] 1 1
attr(,"useBytes")
[1] TRUE
我做错了什么。
答案 0 :(得分:2)
需要在正则表达式中转义括号。这是通过反斜杠完成的。此外,backslase将需要逃脱,因此加倍:
gregexpr( "\\(", text )
[[1]]
[1] 17 40
attr(,"match.length")
[1] 1 1
attr(,"useBytes")
[1] TRUE