2013-03-21 43 views
0

我所需要的是:正则表达式的资本的话,并排除范围

  1. 匹配所有资本WORDS
  2. 比赛的第一个字母Capital
  3. 匹配与字母之间的资本文字和点的所有单词的所有单词,如F.M.I
  4. 在包含此字母的áéíóúÁÉÍÓÚÑñ中的一个单词中,连续点1,2,3
  5. 排除具有第一个字母的单词列表资本,就像这样:En La El Los Ese
  6. 排除所有字母大写的单词列表,像SALUD
+6

请你告诉我们你试过了什么?谢谢。 这些是一些简单的问题,可以用google搜索。正如有的抬起头: 首都所有'/^[A-Z] + $/' 第一个字母资本:'/^[A-Z] /' 我建议你研究更多的休息。 – 2013-03-21 12:31:20

+0

我试试这个preg_match_all(“/(L [AAOO] S \ C |?!是\ C |的\ C |的\ C |罗\ C |的\ C |某些\ C |某些\ C |某些\ b |小\ C | A \ b |几个\ C |几个\ C |任何\ C |任何\ C |任何\ C |太\ C |太\ C |太\ C |太\ C |塔尔\ C |传说\ C |稀缺\ C |稀缺\ C |两个\ C |坦塔\ C |这么多\ C |这么多\ C |每个\ C |所有\ C |所有\ C |所有\ C |所有\ C |更多\ b |少\ C | A \ b | A \ b |大部分\ C |许多\ C |许多\ C | A \ b |德\ C |恩\ C |如果\ b)[AZ] [A-ZA-ZÑÁÉÍÓÚáéíóúñ ] + /“$ titulo_copete,$ match_todas);但我不能排除单词以全部大写字母,像SALUD。为什么我该怎么办呢? – Nicopag 2013-03-21 12:39:56

+0

** **如何 - 作为函数naveed S的回答。 :) **为什么 - 我希望我知道。 – 2013-03-21 12:43:18

回答

3

^(([A-Z](\.[A-Z])+)|([A-Z][A-Za-z]+))$比赛第一个字母大写/斑点字分开的所有资本/大写字母。

它所做的是

  • ([A-Z](\.[A-Z])+)一个大写字母后跟模式点后跟一个大写字母的一个或多个实例匹配 - 3要求

  • ([A-Z][A-Za-z]+)匹配大写字母后跟一个或多个字母(也允许单个大写字母,用*替换+) - 第一和第二个要求

为了让人物áéíóúÁÉÍÓÚÑñ如果第一个字母是大写字母,就包括这些在字符类作为

([A-Z][A-Za-záéíóúÁÉÍÓÚÑñ]+) 

中序,以排除特定的词,你可以使用负前瞻像

^(?!SALUD)(?!Los)(([A-Z](\.[A-Z])+)|([A-Z][A-Za-záéíóúÁÉÍÓÚÑñ]+))$ 

它避免了SALUD和Los这两个字。

  • (?!SALUD)确保以下字符序列不是SALUD,同样就是(?!Los)

我没有得到你的第四个要求很好。

http://www.regular-expressions.info/是学习正则表达式的好地方。

如果你想匹配无论开始和结束删除锚点。

+0

嗨,它不是必须的启动,需要为此与规范。 – Nicopag 2013-03-21 13:21:00

+0

@ user2088434然后取出^锚和$ – 2013-03-21 13:23:35

+0

,比如我有这样一行:在这个阳光灿烂的日子在M.S.P有意外健康。但健康是没有问题的。在这里,我需要:排除和健康。我需要匹配:阳光M.S.P却意外健康。你的榜样是行工作。第4点意味着我可以匹配像这个孩子或孩子的一句话。由于 – Nicopag 2013-03-21 13:23:40

0

我认为这可能工作 \ B(?!LOS)((AZ +)|([AZ] [A-ZA-záéíóúÁÉÍÓÚÑñ] +))(SALUD?!)