簡體   English   中英

用正則表達式匹配“小於”或“小於或等於”符號

[英]Matching 'less than' or 'lessthan or equal to' symbols with regex

我很難將此模式<=與sed中的正則表達式匹配。 我真正需要的是類似[<| <=]或類型匹配的東西。 我可以將其與。*一起使用,但這偶爾會在該行的其余部分產生其他問題。 示例行將是:

for (int j = 0 j < nspec ++j)

要么

for (int j = jmin j <= jmax ++j)

以下(部分)命令為示例。

sed -n '/for (int *\([[:graph:]]\) *= *\([[:graph:]]\) *\1 *</p' filename

會找到第一個模式,但是

sed -n '/for (int *\([[:graph:]]\) *= *\([[:graph:]]\) *\1 *<=/p' filename

找不到第二個。

任何幫助,將不勝感激。

字符類只能匹配一個字符。 (這意味着|被解釋為文字豎線字符,而不是交替字符)

您需要將[]替換為()

(<|<=)或替代: <=?

在RegEx中? 使上一個元素成為可選 那么<=? 的意思是“給我少於-,如果有,則等於”。

我不確定是否? 是否需要在sed中轉義,因此請嘗試兩種方式,並在發現時讓我知道/更新:-)

暫無
暫無

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

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