【发布时间】:2017-08-01 19:27:17
【问题描述】:
我到处搜索,但它不符合我的要求。 如何检查字符串是否与正则表达式匹配? 我不想知道我的字符串是否包含字符或者它们是什么,但是我想做一个返回 true 或 false 的函数:这个字符串是否" abcdefgh" 与 "[a-z]" 匹配。
我可以在 PHP、JS 中做到这一点,但显然在 Swift 中所有人都只想知道哪些字符匹配。 ^^
问候,
【问题讨论】:
-
print("abcdefgh".range(of: "[a-z]", options: .regularExpression) != nil) -
print("abcdef2gh".range(of: "[a-z]", options: .regularExpression) != nil)返回 true,尽管它不应该 -
为什么不应该?该字符串中有一个小写的 ASCII 字符。这是一个部分匹配。你需要一个完整的字符串匹配吗?那么你如何在 PHP 和 JS 中做到这一点呢? :) PHP 和 JS 都没有完整的字符串正则表达式匹配方法。顺便说一句,斯威夫特有一个。
-
还有这个? ^^
console.log(/^([a-z]*)$/.test('abcdefgh')) // true | console.log(/^([a-z]*)$/.test('abcd2efgh')) // false。测试自己。这就是我想在 Swift 中做的事情。你好吗 ? [[来源:stackoverflow.com/questions/6603015/…]] -
您正在使用锚点和量词。将它们与我的解决方案一起使用,您将获得相同的行为。
print("abcdefgh".range(of: "^[a-z]*$", options: .regularExpression) != nil)。RegExp#test只搜索部分匹配,正是^和$使 JS 正则表达式引擎确保完整的字符串匹配。无论如何,你的问题是一个骗局。