我必須製作正則表達式才能匹配一個數字。 它應該匹配7和a7b,但不是77. 我做到了這一點,但它似乎在sed中不起作用。僅匹配單個數字sed
(?<![\d])(?<![\S])[1](?![^\s.,?!])(?!^[\d])
(?<![\d])(?<!^[\a-z])\d(?![^a-z])(?!^[\d])
我在做什麼錯?
編輯:
我需要更換與只有1位數的號碼,如
sed 's/regex/@/g' file //regex to match "1"
文件內容
1 2 3 4 5 11 1
agdse1tg1xw
6 97 45 12
應該成爲
@ 2 3 4 5 11 @
[email protected]@xw
6 97 45 12
的sed只支持BRE和ERE。但是你可以使用'grep -oP'或'grep -P'來使用PCRE。 – andlrc
爲什麼你的例子中的2,3,4,5和6不會被轉換成'@'s?你想轉換1位數字還是數字1? –
編輯已經使這個問題不清楚。 – sjsam