簡體   English   中英

用 ^ 排除多個模式

[英]Exclude multiple patterns with ^

我正在嘗試搜索以左撇號開頭但不包括句號和右撇號的 250 多個字符的字符串; 逗號和結束撇號; 感嘆號和結束撇號; 或問號和結束撇號。 我正在嘗試查找長引號,但不包括短引號(少於 250 個字符)。 問題是右引號看起來與所有格撇號相同。 (也許美國人用他們的雙引號引起了一些注意?)

這是沒有排除標點符號的代碼。,??

‘[^’]{230,}

這是我修改后的代碼(不起作用):

‘[^.’|,’|?’|!’]{230,}

這樣我就可以包含諸如“查爾斯的馬”之類的短語,但不包括 250 個字符以下的引號

您可以匹配 match '然后重復至少 230 次(或 250 多次)匹配任何列出的字符[.,?!]不直接跟在'

‘(?:(?![.,?!]’)[^’]){230,}

模式匹配

  • '匹配開頭'
  • (?:非捕獲組
    • (?.[,??!]')負前瞻,斷言不是. , ? !
    • [^']匹配除結束符 `' 之外的任何字符
  • ){230,}重復 230 多次

正則表達式演示

如果最后必須有一個結束引號,您可以斷言使用積極的前瞻(?=')

‘(?:(?![.,?!]’)[^’]){230,}(?=’)

正則表達式演示

謝謝。 我錯誤地解釋了我想要什么,但這符合我的要求。 我真正需要的是一種查找長引號的方法,它不排除包含撇號 s 的長引號。 這似乎在 Regex 演示中有效,但在 InDesign 中無效。

'.{250,}(?=[.'])(?=[,'])(?=[?'])(?=[!'])

https://regex101.com/r/Um2Ylb/1

有兩個長引號(一個帶有所有格撇號 s)和一個短引號,它會找到兩個長引號。 但在 InDesign 中,它只查找前面有撇號的任何內容(它忽略了完整的點、問號、逗號和感嘆號)。 我認為這是因為它只在積極的后視中查看單個角色。 有沒有辦法讓它尋找兩個角色?

暫無
暫無

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

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