Tôi muốn thay thế tất cả các chuỗi được đính kèm bởi -
thành các chuỗi kèm theo ~
, nhưng không phải nếu chuỗi này một lần nữa được kèm theo *
.Không thay thế regex nếu nó được kèm theo bởi một ký tự
Như một ví dụ, chuỗi này ...
The -quick- *brown -f-ox* jumps.
... nên trở thành ...
The ~quick~ *brown -f-ox* jumps.
Chúng ta thấy -
chỉ được thay thế nếu nó là không trong *<here>*
.
My javascript regex cho bây giờ (mất không chăm sóc cho dù nó được bao bọc bởi *
hay không):
var message = source.replace(/-(.[^-]+?)-/g, "~$1~");
Chỉnh sửa: Lưu ý rằng nó có thể là trường hợp đó có một số lẻ của *
s .
Tại sao bạn nên downvote? – poitroae
yup tôi ngạc nhiên, một câu hỏi hay. – Jai
Điều gì khi có số ký tự lẻ *? Ví dụ. 'The * -quick- * brown * -f-ox * nhảy * .' Những ký tự' -' nào nên được thay thế và tại sao? –