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