我想做什么:
来自
{
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}}
答案 0 :(得分:0)
您想要的简单版本是:
/(Team\d+)\s*\(\d+%\)\s*(\d+)\s*:\s*(\d+)\s*\(\d+%\)\s*(Team\d+)\s*(.*)/gm
https://regex101.com/r/aS0uU9/5
<小时/> 说明:
请记住:
然后你有:
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。 (。表示任何字符)