也许这是一个简单的问题,但今天我有点坚持。
仅当符号%
在字符串中出现一次时,我才需要正则表达式进行匹配。
例如:
/regexpForSymbol(%)/.test('50%') => true
/regexpForSymbol(%)/.test('50%%') => false
谢谢!
也许这是一个简单的问题,但今天我有点坚持。
仅当符号%
在字符串中出现一次时,我才需要正则表达式进行匹配。
例如:
/regexpForSymbol(%)/.test('50%') => true
/regexpForSymbol(%)/.test('50%%') => false
谢谢!
你可以使用:
^[^%]*%[^%]*$
锚点在那里确保每个角色都被覆盖,您可能已经知道是什么[^%]
。
干得好。不要指望每个人都为你做这些。
^ # Start of string
[^%]* # Any number of a character not matching `%`, including none.
% # Matching exactly one `%`
[^%]* #
$ # End of string
你不需要正则表达式。
function checkIfOne(string, char) {
return string.split(char).length === 2;
}
用法:
var myString = "abcde%fgh",
check = checkIfOne(myString, '%'); // will be true
您可以使用match
并计算结果数组:
str.match(/%/g).length == 1