捕获可选括号的正则表达式

时间:2016-12-19 07:09:24

标签: regex python-2.7

我有一个字符串:

  

Linux(发音为/lɪnəks/ LIN-ksks或更少,/laɪnəks/ LYN-əks)是一个类似Unix的计算机操作系统,是在免费和开源软件开发和分发模型下组装的。

我想在python中编写一个正则表达式来捕获上面的句子,其中包含一个关键字(在这种情况下为'use strict'; $(function () { var currentSlide = 1; //DOM cache var $slider = $('#slider'); var $slidesContainer = $slider.find('#container'); var $slides = $slidesContainer.find("li") console.log($slides.length); //slider setInterval(slide, 3000); function slide() { $slidesContainer.animate({'margin-left': '-='+400}, 800); console.log(currentSlide); currentSlide++; if (currentSlide === $slides.length) { currentSlide = 1; $slidesContainer.css("margin-left", 0);// <------PROBLEM HERE }//end if }//end slide });//end js ),后跟可选括号,后跟强制“is”或“are”。

1 个答案:

答案 0 :(得分:1)

我假设了一些事情。

  1. 关键字和可选的打开的paranthesis之间总是有空格。
  2. 关闭时会有一个空格。
  3. 空格之间必须至少有一个字符。
  4. 句子包括(在结尾之前)除了句号之外的任何字符。
  5. 句子总是以句号结束。
  6. 试试这个:

    Linux (\([^\.\(\)]*\))? (is|are)[^\.\(\)]*\.
    

    您好 它说:

    • Linux - 完全匹配Linux后跟空格。
    • (\([^\.\(\)]*\))? - 零或恰好1次完全匹配a(后跟零个或多个不是。(或)后跟恰好a的字符)
    • (is|are) - 匹配一个空格,后跟单词is或are。
    • [^\.\(\)]*\. - 匹配零个或多个不是。(或)完全遵循.
    • 的字符