[英]PHP Regex look ahead and look behind - both must not match?
我目前正在尋找一種方法來刪除某些地方的字符串中的fullstops。
我希望它只有在不滿足2個條件時才會刪除fullstops;
在fullstop之前沒有數字。
和
在fullstop之后沒有數字。
我目前有這個正則表達式
'#(?<!\d)\.(?!\d)#'
但這並沒有刪除字符串中的fullstops,例如
'hello.1', '1.hello'
我猜測,因為在完全停止之前或之后有一個數字,匹配失敗並且無法識別。
我怎樣才能做到這一點,以便必須滿足前方和后方,以便匹配並正確刪除fullstop?
謝謝。
編輯
我希望它刪除fullstops當且僅當沒有數字之前〜或〜在fullstop之后沒有數字。 因此,如果字符串是這樣的(a digit).(a digit)
那么只能有一個fullstop,但在任何其他情況下都會刪除fullstops。
你可以這樣做:
'#((?<!\d)\.|\.(?!\d))#'
如果點前面或后面有非數字,它將刪除點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.