我正在尝试编写正则表达式并匹配3个条件,并且如果满足 all three 条件则返回true .
条件1) string starts with a "{"
条件2) string DOES NOT contain a space somewhere between brackets
条件3 string ends with a "}"
到目前为止,我已经提出了 ^{|[ ]|}$
,它检查了一个空格 . 但是如果括号之间有 no spaces ,我需要使它匹配 . 如果字符串以 {
开头但不以 }
结尾,则返回true,反之亦然 . 我've been messing with regex101.com, but can'吨没有空格部分 .
如果字符串中存在 does not ,有人可以解释如何匹配吗?
1 回答
看来你需要
见regex demo .
Details :
^
- 字符串的开头{
- 文字{
\S*
- 除空白之外的0个字符}
- 文字}
$
- 字符串结尾 .对于一般情况,当你想匹配字符串中不存在的东西时,你可以记住两种方法:
1)应该缺少的字符串是单个字符:使用否定字符类(例如,
^[^;]*$
将匹配内部没有;
的字符串),或者"negative"速记字符类(如此处,\S
是相反的\s
并使用^\S*$
匹配没有空格的字符串)2)字符串不能包含的文本是多字符串:然后使用lookarounds(例如,字符串不应包含
like
:^(?!.*like).*$
,甚至^(?!.*like)
) .