簡體   English   中英

正則表達式以匹配行數和每行字符

[英]Regular Expression to Match Number of Lines and Characters per Line

我試圖確保一個字符串包含0到3行,對於給定的行,它包含0到100個字符。 對於JavaScript和Java,它必須是有效的表達式。 就像許多執行RegEx的人一樣,我正在從Internet的各個位置進行復制。

向后工作,我認為^.{0,100}$使我“行包含0到100個字符”,但是嘗試將其分組為(^.{0,100}$){0,3}不起作用。

新行字符可能是我的問題的一部分,因此我最終得到了類似.{0,100}(?:\\n.{0,100}){0,2}試圖說“ 0至100個字符的行(可選)按0到2個新行實例和0到100個其他字符”,但這也失敗了。

直到現在我還是從別人那里得到了這些表情。 我終於使用一個在線測試工具一起摸索了這件事: ^.{0,100}(?:(?:\\r\\n|[\\r\\n]).{0,100}){0,2}$似乎可行。

因此,我的問題是,我是否錯過了^.{0,100}(?:(?:\\r\\n|[\\r\\n]).{0,100}){0,2}$任何陷阱米之后? 此外,即使這行得通,也是使用的最佳表達方式嗎?

我認為您所擁有的會很好。 如果需要,可以使換行符更加緊湊,如果使用matches()則不需要^$

String regex = ".{0,100}(?:[\r\n]+.{0,100}){0,2}";

編輯

經過更多的思考,我意識到上面的換行符建議將匹配4(或更多)行,只要其中有幾行是空的。 因此,我們回到您建議的示例。 哦,好了,至少可以省略開始和結束字符。

String regex = ".{0,100}(?:(?:\r\n|[\r\n]).{0,100}){0,2}";

我不太擅長正則表達式,但這行得通嗎?

^.{0,100}\n?(.{0,100}\n)?.{0,100}?$

再次說明,我還是reg exp的新手,所以如果有錯誤(可能發生),請告訴我。

暫無
暫無

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

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