簡體   English   中英

在grep中尋找mod_rewrite正則表達式功能

[英]Looking for mod_rewrite regular expression feature in grep

因為圖片(或示例)價值超過一千個單詞,所以我將使用一個示例:

RewriteRule ^/products/([0-9]+)$ /content.php?id=$1

在這個RewriteRule示例中,我們有簡單的正則表達式。 $ 1是對([0-9] +)所捕獲內容的引用,因此,如果存在匹配項,則引用某個數字。 是否可以在grep中執行類似的操作?

假設某些xml文檔包含以下內容:

<someTag>someValue</someTag>

我只想提取someValue ,但要為second_bash_script輸入以下內容:

first_bash_script | grep "<someTag>\([[:digit::]]\)\+</someTag>" | second_bash_script

someValue 是否可以使用grep僅提取someValue

感謝您提供任何線索!

那是兩個獨立的問題,對嗎?

第一個答案是:使用sedgrep不做替換。

sed 's_^/products/\([0-9]\+\)_/content.php?id=\1_g'

第二件事可以使用Perl regexp使用grep完成:

$ echo '<someTag>42</someTag>' | grep -oP '(?<=<someTag>)\d+(?=</someTag>)'
42

暫無
暫無

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

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