我正在尝试使用regexp匹配两个字符串,但只有字符串中没有括号时,该函数才会返回该值。
例如:
regexp('Amidation(N)','Amidation(N)')
returns
0
但是
regexp('Amidation ()','Amidation()')
returns
1
它也匹配:
regexp('Amidation-','Amidation-')
returns 1
我尝试使用strcmp,但是它不会读取字符串中的多个参数。
例如:
strcmp('Amidation;Acetylation (E);Phosphorylation','Acetylation (E)')
returns 0
但是
strcmp('Amidation (E)','Amidation (E)')
returns 1.
我需要一个像:
这样的功能match_function('Amidation (E)','Amidation (G)')
returns 0
和
match_function('Amidation (E)','Amidation (E)')
returns 1
请让我知道我应该使用哪种功能
答案 0 :(得分:2)
如果要匹配括号a regex symbol for performing grouping,则需要使用反斜杠(\
)转义括号。
regexp('Amidation(N)','Amidation\(N\)')
如果您想将文字字符串与regexp
匹配,请考虑使用regexptranslate
,它可以为您转义所有特殊字符。
escaped_pattern = regexptranslate('escape', 'Amidation(N)');
regexp('Amidation(N)', escaped_pattern)