【问题标题】:NSRegularExpression conditionals to find terminated and non-terminated stringsNSRegularExpression 条件查找终止和非终止字符串
【发布时间】:2014-09-23 14:35:13
【问题描述】:

NSRegularExpression 是否支持模式内的条件?当我使用以下表达式匹配引号内的字符串和缺少结束引号的字符串时,我似乎没有得到预期的效果。我觉得我的表达方式不正确:

正则表达式:

\".*(?(?=\")(\")|(.))

测试字符串:

var name = "A string"; // commment

var name = "A string; // comment

预期匹配(分别):

"A string"

"A string; // comment

【问题讨论】:

  • 你想用正则表达式匹配两个字符串吗?
  • 不只有一个。如果不是第一个,那么是最后一个

标签: objective-c regex string pattern-matching nsregularexpression


【解决方案1】:

使用lookbehind 使\" 与后跟分号的" 不匹配。

(?<= )\"[^"]*"?

DEMO

【讨论】:

  • 上述正则表达式将匹配两者。
猜你喜欢
  • 1970-01-01
  • 2016-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-16
  • 2021-10-16
  • 2012-01-24
  • 1970-01-01
相关资源
最近更新 更多