Regex 用于从长字符串中提取摘录的正则表达式

Regex 用于从长字符串中提取摘录的正则表达式,regex,ios7,nsstring,Regex,Ios7,Nsstring,我想使用正则表达式从长字符串中提取摘录 示例字符串:“今天以1:0击败阿根廷赢得世界杯的德国,在经济增长方面是否可能以输家告终?“” 要搜索的字符串:“that” 正则表达式的预期结果 “可能是德国” “第三届世界杯,就要结束了” 我想从字符串中搜索所需的文本,从搜索字符串的前后位置分别搜索-9和+9个字符。搜索字符串可以在给定字符串中出现多次 我正在开发一个iOS应用程序 使用iOS 7 到目前为止,我在创建这个表达式时对正则表达式知之甚少,但无法从中得到期望的结果 " (.){0,9} (

我想使用正则表达式从长字符串中提取摘录

示例字符串:“今天以1:0击败阿根廷赢得世界杯的德国,在经济增长方面是否可能以输家告终?“”

要搜索的字符串:“that”

正则表达式的预期结果

“可能是德国”

“第三届世界杯,就要结束了”

我想从字符串中搜索所需的文本,从搜索字符串的前后位置分别搜索-9和+9个字符。搜索字符串可以在给定字符串中出现多次

我正在开发一个iOS应用程序 使用iOS 7

到目前为止,我在创建这个表达式时对正则表达式知之甚少,但无法从中得到期望的结果

 " (.){0,9} (that) {0,9} "

删除正则表达式中的空格。如果要捕获匹配的。然后将模式包含在捕获组中(即,
()


将前面和后面的字符设置为可选字符,以匹配看起来像将改变历史的

行。好吧,在表达式中,您只是缺少了第二个“.”,可能还缺少了空格的“?”

.{0,9} ?that ?.{0,9}
试试看

如果需要,可以添加()来创建组。我添加了“?”以使其符合您的其他示例:

“这将改变历史”


但是当搜索文本位于开始或结束位置时,您的答案是失败的,就像“这将改变历史”,在这种情况下,它不会搜索successfully@DineshKaushik以上示例的预期结果是什么。搜索字符串:“that will change history”搜索文本:“that”预期结果:“that will change”是的,几乎是,但仍然不完全是搜索字符串:“不是那将改变历史”搜索文本:“那”预期结果:“不是那将改变”即使在搜索字符串的任意一侧没有精确的9个字符,则显示可用的字符(少于9个)。您能分享更多预期结果的示例吗?
(?:.{9}|.{0,9})that(?:.{9}|.{0,9})
.{0,9} ?that ?.{0,9}