JavaScript中的Regexp大文本

时间:2015-11-06 17:11:14

标签: javascript regex

我想做什么:

来自

{
  first: Sdqweq 
  firstscore: 3
  second: Dafsas
  secondscore: 2
  date: 1 ноября
}
{....}
{....}

regex.exec(matches)

老实说,我对正则表达式并不太了解,但我不知道如何以另一种方式解析这个文本。构建是真的吗?

我将非常感激!

更新 更新这样的部分来自

UPDATE2 当我尝试使用regex = /(.*?)\s*\(\d+%\)\s*(\d+)\s*:\s*(\d+)\s*\(\d+%\)\s*(.*)\s*(.*)/gm matches = 'text from section'Sdqweq (65%) 3 : 2 (35%) Dafsas 1 ноября, 13:15 , Sdqweq , 3 , 2 ,Dafsas,1 ноября, 13:15 时 我输出像

{{1}}

1 个答案:

答案 0 :(得分:0)

您想要的简单版本是:

/(Team\d+)\s*\(\d+%\)\s*(\d+)\s*:\s*(\d+)\s*\(\d+%\)\s*(Team\d+)\s*(.*)/gm

https://regex101.com/r/aS0uU9/5

<小时/> 说明:

请记住:

  • &#39; \ S&#39;是一个&#34;白色空格字符:匹配任何空格,制表符或换行符。&#34;
  • &#39; \ d&#39;是任何数字
  • &#39; *&#39;表示零个或多个虚位
  • &#39; +&#39;表示一个或多个货币
  • 使用()分隔一个组。

然后你有:

a.-第一组开始于&#34; Team&#34;然后是一个或多个数字。即: (球队\ d +)

b.- ..后跟零个或多个空格。即:\ s *

c.- ..然后是&#39;(&#39;,数字(一个或多个发生),然后是&#39;%&#39;然后是&#39;)& #39 ;.即:(\ d +%)

d.- ..后跟零个或多个空格。即:\ s *

e.-然后我们正在寻找另一个具有一个或多个发生次数的组。即:(\ d +)

f.- ..后跟零个或多个空格。即:\ s *

g.-冒号。即:&#39;:&#39;

h.- ..后跟零个或多个空格。即:\ s *

i.-然后我们正在寻找另一个具有一个或多个发生次数的组。即:(\ d +)

...

z.-几乎在最后我们寻找一个或多个空格字符&#39; \ s&#39; (包括&#39;新行&#39;字符)并创建一个包含以下所有数据(日期)的新组。即:\ s *(。*)

<小时/> 编辑: 为了使正则表达式更通用:

/(.*?)\s*\(\d+%\)\s*(\d+)\s*:\s*(\d+)\s*\(\d+%\)\s*(.*)\s*(.*)/gm

https://regex101.com/r/aS0uU9/6

在这里,我们只是寻找任何&#39;任何东西而不是模式TeamNumber。 (。表示任何字符)