正则表达式仅匹配没有以下多个空格的部分

我有一些文本在屏幕上居中左右,看起来像这样


From:

DEMO - Sliced Invoices                                            Order Number

Suite 5A-1204                          Order Number

123 Somewhere Street                  Order Number

Your City AZ 12345                      Order Number

admin@slicedinvoices.com                  Order Number

我要实现的目标是编写一个正则表达式,仅使左侧部分忽略订单号部分,该部分可以是任何文本,而不是具体的订单号...甚至有可能我尝试忽略多个空白而没有运气。


到目前为止,我已经提出了:


F.{1,250}?:+\nD.{1,250}?  

哪个读


From:

Demo - Sliced Invoices  

但由于订单号在同一行上,因此我无法继续下一行...


蛊毒传说
浏览 215回答 2
2回答

神不在的星期二

你可以用这个^.*?(?=\s{2,}|\n)^ -字符串开始.+? -匹配除换行零或更多时间以外的任何内容(?=\s{2,}|\n) -检查两个或多个连续空间或换行符的正面外观let str = `From:DEMO - Sliced Invoices                                            Order NumberSuite 5A-1204                          Order Number123 Somewhere Street                  Order NumberYour City AZ 12345                      Order Numberadmin@slicedinvoices.com                  Order Number`let op = str.match(/^.+?(?=\s{2,}|\n)/gm)console.log(op)

长风秋雁

此正则表达式可捕获最多两个或更多空格的所有内容,或者使用lookahead捕获换行符。const regex = /^(.*?)(?= {2,}|\n)/gm;const txt = document.querySelector('div').textContent;const matches = txt.match(regex);console.log(matches);<div>From:DEMO - Sliced Invoices&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Order NumberSuite 5A-1204&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Order Number123 Somewhere Street&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Order NumberYour City AZ 12345&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Order Numberadmin@slicedinvoices.com&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Order Number</div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript