了解éžæ•èŽ·ç»„的正则表达å¼

时间:2019-04-04 07:00:42

标签: javascript regex

我对此linkç†è§£ä¸‹é¢çš„正则表达å¼æ¨¡å¼å¹¶ä¸æ„Ÿåˆ°å›°æƒ‘:

(?:x)
     

匹é…“ xâ€ï¼Œä½†ä¸è®°å¾—匹é…。括å·ç§°ä¸ºéžæ•èŽ·æ‹¬å·ï¼Œæ‚¨å¯ä»¥å®šä¹‰æ­£åˆ™è¡¨è¾¾å¼è¿ç®—符使用的å­è¡¨è¾¾å¼ã€‚考虑示例表达å¼/(?:foo){1,2}/。如果表达å¼ä¸º/foo{1,2}/,则{1,2}字符仅适用于'foo'中的最åŽä¸€ä¸ª'o'。使用ä¸å¸¦æ‹¬å·çš„括å·ï¼Œ{1,2}适用于整个å•è¯'foo'。有关更多信æ¯ï¼Œè¯·å‚è§ä¸‹é¢çš„使用括å·ã€‚

我无法ç†è§£è¿™ä¸¤ç‚¹ï¼š

  1. 考虑示例表达å¼/(?:foo){1,2}/。如果表达å¼ä¸º/foo{1,2}/,则{1,2}字符仅适用于'o'中的最åŽä¸€ä¸ª'foo'。

  2. 使用ä¸å¸¦æ‹¬å·çš„括å·ï¼Œ{1,2}适用于整个å•è¯'foo'

1 个答案:

答案 0 :(得分:1)

实际上,æ®æˆ‘所知,éžæ•èŽ·ç»„与您的紧迫问题无关,并且以下两ç§æ¨¡å¼éƒ½å¯ä»¥åŒ¹é…相åŒçš„内容:

/(?:foo){1,2}/
/(foo){1,2}/

括å·å‘Šè¯‰æ­£åˆ™è¡¨è¾¾å¼å¼•æ“Žæ‚¨å¸Œæœ›æ•°é‡è§„则{1,2}适用于全部数é‡ã€‚如果没有括å·ï¼Œåˆ™æ•°é‡é»˜è®¤é€‚用于紧接在å‰çš„字符o:

/foo{1,2}/

这将匹é…fooå’Œfooo。