regex某个字符可以存在也可以不存在,但之后什么都没有
regex certain character can exist or not but nothing after that
我是regex的新手,我正在尝试搜索几个字符串。
我想检查字符串中是否存在某个字符,在本例中为":"(不带引号)。
如果:不存在于字符串中,它仍然会匹配,但如果:exist之后应该没有任何内容,只允许使用空格和新行。
我有这个模式,但它似乎不能像我想要的那样工作。
(.*)(:?'s*'n*)
谢谢。
如果我正确理解你的问题,^[^:]*(:'s*)?$
让我们把它分解一下:
^
启动锚;如果没有这一点,匹配可以在每次看到另一个冒号或冒号后面的非空格时重新启动。
[^:]*
匹配任意数量的非冒号字符;这样,如果整个字符串都是非冒号字符,则该字符串将被视为有效匹配。
(:'s*)?
如果在任何时候确实看到冒号,则以下所有字符必须为空白,直到字符串结束;分组parens和后面的CCD_ 5的作用是使其成为要么全有要么全无的条件语句。
$
端锚;如果没有这一点,regex就不会知道,如果它看到冒号,那么下面的空白必须持续到字符串的末尾。
这里有一个模式应该可以使用
/^([^:]*|([^:]*:'s*))$/
您可以使用管道来管理替代
另一种方法是:
^[^:]*(|:['n]*)$
^[^:]*=>以除之外的任何内容开始
(|:[''n]*)$=>结束或者完全没有或者":"后跟换行符
相关文章:
- addEvent()传奇事件之后的当前最佳实践是什么
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- regex某个字符可以存在也可以不存在,但之后什么都没有
- 如果在 JavaScript 中的 if 条件之后在执行块中使用两个等于而不是只有一个,会发生什么情况
- 缺少 ) 在参数列表之后.我做错了什么
- JavaScript - 在哪些操作之后需要 toFixed() 以及应该传递什么参数
- 使用日期时间选择器 UI 选择在日期时间之后使用什么方法触发事件
- 在返回表达式之后定义函数的使用场景或优点是什么
- 在$(document).ready()之后调用什么jQuery事件
- history.back()之后的代码会发生什么
- 什么是",真正的);“在事件侦听器之后执行
- 单击submit之后,Form什么也不做
- 如果我在同步ajax调用之后进行异步ajax调用会发生什么?
- 我想在ajaxForm之后做点什么.提交,在哪里放置代码
- 一切都做完之后再做点什么
- 在node.js堆栈跟踪行中冒号之后的第二个数字是什么意思?
- javascript源代码在附加了表的td、tr之后发生了什么
- 在jQuery 1.7之后,live()和bind()被弃用的原因是什么?
- 提示之后什么都没有发生
- Javascript For-Loop之后什么也没发生