Regex 在Swift正则表达式中匹配但不捕获字符串
我试图在给定字符串中搜索一个单引号('),然后用一个单曲线引号(')替换它。我测试了更多的模式,但每次搜索都会捕获相邻的文本。例如,在字符串“I'm”中,除了“mark”之外,还可以得到“I”和“m” 是否有可能实现这一点,或者在快速实施Regex时,不支持非捕获组 编辑: 范例Regex 在Swift正则表达式中匹配但不捕获字符串,regex,xcode,swift2,Regex,Xcode,Swift2,我试图在给定字符串中搜索一个单引号('),然后用一个单曲线引号(')替换它。我测试了更多的模式,但每次搜索都会捕获相邻的文本。例如,在字符串“I'm”中,除了“mark”之外,还可以得到“I”和“m” 是否有可能实现这一点,或者在快速实施Regex时,不支持非捕获组 编辑: 范例 将您的报价单本身放入捕获组中 (?:\\S)(')(?:\\S) 例如,当与“我”匹配时,这将捕获[“我”、“我”、“我”] 在Swift正则表达式中匹配但不捕获字符串 在regex中,可以使用lookarounds
将您的报价单本身放入捕获组中
(?:\\S)(')(?:\\S)
例如,当与“我”
匹配时,这将捕获[“我”、“我”、“我”]
在Swift正则表达式中匹配但不捕获字符串
在regex中,可以使用lookarounds实现以下行为:
let myPattern = "(?<=\\S)'(?=\\S)"
让我的模式=”(?谢谢。我添加了一个示例,您能告诉我实现是否正确吗?可能是因为结果为空,所以我遗漏了一些内容。stringbyreplacingmatcheinstall
将替换整个匹配,包括所有捕获组。您可以通过手动更改st范围的字符串值来解决此问题包含第二个捕获组的环。或者,您可以将替换文本更改为“$1”$3”,这样整个字符串将被替换,但新字符串将恢复第一个和第三个捕获组感谢您!您不能只使用lookarounds吗?let myPattern=“(?)?
(?:\\S)(')(?:\\S)
let myPattern = "(?<=\\S)'(?=\\S)"