我试图找到所有可能的单词/标签对或其他嵌套组合与python及其正则表达式.
sent = '(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))'
def checkBinary(sentence):
n = re.findall("\([A-Za-z-0-9\s\)\(]*\)", sentence)
print(n)
checkBinary(sent)
Output:
['(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))']
Run Code Online (Sandbox Code Playgroud)
寻找:
['(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))',
'(NNP Hoi)',
'(NN Hallo)',
'(NN Hey)',
'(NNP (NN Ciao) (NN Adios))',
'(NN Ciao)',
'(NN Adios)']
Run Code Online (Sandbox Code Playgroud)
我认为正则表达式公式可以找到嵌套的括号词/标签对,但它不会返回它们.我该怎么做?
如何在字符类中转义闭括号字符?根据手册,要匹配文字]它应该放在列表的第一位,但我需要匹配由方括号组成的类的补码.
大多数元字符在括号表达式中失去了特殊含义.要包含文字,请将其放在列表中的第一位.同样,要包含一个文字^将它放在任何地方,但首先.最后,要包含一个文字 - 将它放在最后.
正则表达式:
/([^]+):([^\\r\\n]+)/
Run Code Online (Sandbox Code Playgroud)
串:
f1:aaa\r\nf2:bbb\r\nf3:ccc\r\nf4:ddd
Run Code Online (Sandbox Code Playgroud)
根据regexpal.com,这将给我想要的设置:f1 & aaa, f2 & bbb, f3 & ccc等.但使用http://www.functions-online.com/preg_match.html我只看到[0] => "f1" and [1] => "f1"
任何人都可以说明我应该这样做吗?
关于以下针对Ruby的Poignant Guide的以下正则表达式,我有两个问题:
1:这里的减号是什么意思?它似乎没有指定一个范围,因为除了支架之外,它的左边没有任何东西.
2:为什么有必要逃避右括号?在逃离开头之后,右括号有什么特殊含义?
/\([-\w]+\)/
Run Code Online (Sandbox Code Playgroud) 我正在使用gskinner regex帮助程序站点从字符串中捕获日期,它工作正常.但我的PHP脚本中的抛出和错误.
我正在寻找的是字符串中的日期.
2013年11月26日晚上10:17
$string = "The following web lead was received at Nov 26 2013 10:17PM Source: 420 Source: Internet - Organic (Free) Leads Referral Fee: none";
$datePattern = '/(?<=received at )(?:[^])*?(?=Source)/';
preg_match($datePattern,$string,$matches);
print_r($matches);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
警告:preg_match():编译失败:缺少终止]对于第114行C:\ wamp\www\test\index.php中偏移36处的字符类
我不明白为什么它在gskinner工具中工作正常但在我的脚本中失败了.这个正则表达式是社区提交的表达式之一,因为我在正则表达式方面完全不称职.
谢谢你的帮助.