簡體   English   中英

正則表達式大文本在JavaScript中

[英]Regexp big text in JavaScript

我想做的事:

Sdqweq (65%) 3 : 2  (35%)   Dafsas
 1 ноября, 13:15     
Qrad (50%) 2 : 0  (50%)   Gherhgw
 29 октября, 13:00
....long file

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

老實說,我對正則表達式了解不多,但是我不知道如何以其他方式解析此文本。 建造是真的嗎?

我將非常感謝!

更新:更新該部分

UPDATE2當我嘗試使用此regex.exec(matches)regex = /(.*?)\\s*\\(\\d+%\\)\\s*(\\d+)\\s*:\\s*(\\d+)\\s*\\(\\d+%\\)\\s*(.*)\\s*(.*)/gmmatches = 'text from section'我有類似的輸出

Sdqweq (65%) 3 : 2  (35%)   Dafsas
     1 ноября, 13:15     , Sdqweq , 3 , 2 ,Dafsas,1 ноября, 13:15 

您想要的簡單版本可能是這樣的:

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

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


說明:

請記住:

  • '\\ s'是“空白字符:匹配任何空格,制表符或換行符。”
  • '\\ d'是任意數字
  • “ *”表示零個或多個出現
  • “ +”表示一種或多種情況
  • 和()的使用分隔了一個組。

然后您有:

a.-第一組以“ Team”開頭,后跟一個或多個數字。 即:(團隊\\ d +)

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

c.- ..后跟“(”,數字(一次或多次出現),后跟“%”,后跟“)”。 即:(\\ d +%)

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

e.-然后,我們正在尋找具有一個或多個出現次數的數字的另一個組。 即:(\\ d +)

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

g。-結腸。 即:“:”

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

i.-然后,我們正在尋找具有一個或多個出現次數的數字的另一個組。 即:(\\ d +)

....

z.-幾乎在最后,我們尋找一個或多個空格字符'\\ s'(包括“換行”字符),並使用以下所有數據(日期)組成一個新組。 即:\\ s *(。*)


編輯:使正則表達式更通用:

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

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

在這里,而不是模式TeamNumber,我們只是在尋找“任何”(。表示任何字符)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM