我想检查一个字符串是否恰好包含1个字母字符,该字符前后是否可以带有〜,!!要么 ?。我设置要与之匹配的表达式是:
sizeof(std::string)
但是当我拥有的输入(this.str)等于'p'时,如果没有触发该块。我在做什么错了?
一些应该匹配的字符串:
if (this.str.matches("[!~?]{1,9}?[a-z]{1}")) {
感谢堆:)
答案 0 :(得分:1)
我认为您需要[!~?]{0,9}?[a-z]
。问题是{1,9}
匹配〜、!或?一到九次。您声明其可选,因此应为零到九倍。
在https://regex101.com/r/m1ad8X/1尝试使用正则表达式。
尝试在https://regex101.com/r/m1ad8X/2处进行@WiktorStribiżew校正
我在https://regex101.com/r/m1ad8X/3上的解决方案