[英]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.