簡體   English   中英

如何在此正則表達式上添加單詞邊界

[英]How can I add a word boundary on this regex

使用JavaScript

通常,此正則表達式可以正常工作,但由於OCR拾取的文本中缺少字符或出現了奇怪的標點符號,因此我經常發現這種正則表達式,該正則表達式可以在文本中進行,並且可以拾取范圍更廣的文本。 我想做的是確保它在第14段的字符串中停止並且在匹配中沒有任何進一步的變化。 我正在搜索成千上萬的文檔,之后這些文檔的文本都會略有不同,因此我需要一種以某種方式停止搜索的方法。 如何在第14段添加單詞邊界?

另外,在下面的字符串中,如果第3(b)款帶有方括號,則將其捕獲到組中。 但是,如果只有第3款,則不會捕獲它。 在下面的文本中,我希望它可以拾取第3段,然后在到達第14段時停止搜索。用於組捕獲的可能的文本選項包括:

第3段

第3(b)段

第10段

正則表達式:

Para[a-z]+ 13\S+\s+E[\s\S]*?\(B\)\s["']Ret[a-z]+ Am[a-z]+["'].*?(Paragraph \S+[^.\s])

串:

第13段。選舉和變量-io。 以下條款和證券交易,本附件第13款的條件僅適用於乙方(“橋梁協議”):(a)摩根士丹利之間就合格公司達成的過渡協議中定義的擔保權益和“義務”。 附加義務:關於A:本附件中的“義務”一詞包括以下內容:無。 關於B:無。 (b)信貸支持義務。 (i)交貨金額,退貨金額和信用支持金額。 (A)“交貨(B)“退貨金額”具有“金額”中規定的含義”具有本附件第3款中規定的含義。 (C)其他3(a)

第14段。選舉和變量-轉移時間。 第4(b)段

要捕獲可能帶有括號的帶有單詞后綴的段落:

Paragraph (\w+|\(\w+\))

以這種方式限制您匹配的文本:(最多50個字符的惰性)

.{0,50}

在正則表達式的末尾使用否定的前瞻:(換行符,后跟單詞段落)

(?!\nParagraph (\w+|\(\w+\)))

所以結合您的正則表達式將以:

.{0,50}(?!\nParagraph (\w+|\(\w+\)))

在您的正則表達式中

Paragraph (\w+|\(\w+\))\S+\s+E[\s\S]*?\(B\)\s["']Ret[a-z]+ Am[a-z]+["'].{0,500}(?!\nParagraph (\w+|\(\w+\)))

在此處輸入圖片說明

仍然不太適合我。 讓我添加兩個簡單的示例。

第12段第13段第3(b)段第14段第6段

在此示例中,所有方法均有效,它正確捕獲了第3(b)段。

現在,另一個例子-

第12款第13款拋物線3(b)款14款第6款

在此示例中,存在拼寫錯誤,因此它錯誤地捕獲了第6段。 在這里,我需要它在找到第14段時停止並且不捕獲任何內容。

暫無
暫無

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

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