鉴于这些字符串:
var-nvar-ar var-nvar-br var-int-ar var-int-br oth-nvar-ar oth-nvar-br oth-int-ar oth-int-br
我想编写一个正则表达式,如果子字符串是:
,则选择包含我的子字符串的所有字符串在字符串的开头和-
或
在-
和-
之间
或
介于-
和字符串
所以如果substring = 'var'
那么正则表达式会选择
var-nvar-ar var-nvar-br var-int-ar var-int-br
我试过了:
strings = {'var-nvar-ar' 'var-nvar-br' 'var-int-ar' 'var-int-br' 'oth-nvar-ar' 'oth-nvar-br' 'oth-int-ar' 'oth-int-br'}
regexp(strings,'[^|(*?-)]var[(-.*)|$]','match')
但结果并非我的想法。
答案 0 :(得分:1)
要使用OR操作(|
),又称alternation,它需要位于子表达式()
内,而不是character set {{1} }。而不是,
[]
使用
regexp(strings,'[^|(*?-)]var[(-.*)|$]','match')