【发布时间】:2013-12-23 01:27:23
【问题描述】:
我正在搜索的正则表达式具有以下约束:
- 以“//”开头
- 然后“[”是一个非数字序列(在此列表中称为分隔符)和“]”
- 下一行“\n”
- “[”0 个或多个数字,由先前找到的分隔符“]”分隔。
例如以下文本匹配正则表达式:
//[*#*]
[1*#*34*#*64]
并且以下文本与正则表达式不匹配:
//[*#*]
[1#34#64]
因为分隔符在第一行不匹配
我目前创建的正则表达式是
^//\[(\D)+\]\n\[[(\d)+(\D)+]*(\d)+\]$|^//\[(\D)+\]\n\[\]$|^//\[(\D)+\]\n\[(\d)+\]$
但显然这个正则表达式与前面的两个例子都匹配。
有没有办法“召回”已经在正则表达式中匹配的字符序列?
【问题讨论】:
-
查找反向引用。举个简单的例子,
\(.*\)\1匹配<s><s>形式的任何字符串。意思是,一个字符串由一个字符串连接到它自己。 -
您使用的是什么语言?