结合Regexp?

收集各种条件的用户输入后,例如


以。。开始 : /(^@)/

以。。结束 : /(@$)/

包含: /@/

不包含

为了在用户输入多个条件时制作一个正则表达式,我将它们组合起来,"|"如果1和2给定了/(^@)|(@$)/


到目前为止,此方法有效,但是,


我无法正确确定,条件4的正则表达式应该是什么?并以这种方式结合正则表达式工作吗?


更新:@(用户输入)对于两个条件将是不相同的,并且并非所有四个条件都始终存在,但是它们可以同时存在,并且将来我可能需要更多条件,例如“是”和“不是”等。因此,我您是否更想知道这种方法是否可以扩展?


也可能存在用户输入清理的问题,因此正则表达式可以正确地转义,但是现在可以忽略。


jeck猫
浏览 532回答 3
3回答

MMTTMM

如果字符串不能包含@,则每个字符都必须是除@以下字符之外的另一个字符:/^[^@]*$/这将匹配任何不包含的任何长度的字符串@。另一种可能的解决方案是将的布尔结果取反/@/。

PIPIONE

1 + 2 + 4条件:开始|结束,但不在中间  /^@[^@]*@?$|^@?[^@]*@$/几乎相同:  /^@?[^@]*@?$/但这匹配任何不带@的字符串,示例'我的名字是hal9000'
打开App,查看更多内容
随时随地看视频慕课网APP