e được nhờ xoá các số trong văn bản từ -1 đến -7000 và kiểm tra trước dấu - là một chữ cái bất kỳ thì mới xoá.
các bác thể cho em xin biểu thức chính quy đó để tìm kiếm và thay thế các số từ -1 đến -7000 chỉ xoá khi trước dấu "-" là một chữ cái bất kỳ trong Sublime Text hoặc một phần mềm nào đó. Cảm ơn các bác đã xem bài viết ạ
Một chữ cái bất kỳ ở đầu dòng: ^[a-zA-Z]{1}+
tiếp theo là dấu "-": [-]+
tiếp theo là một chữ số từ 1 đến 7: [1-7]{1}+
tiếp theo là ba chữ số từ 0 đến 9 ở cuối dòng: [0-9]{1,3}$
Ghép lại: ^[a-zA-Z]{1}+[-]+[1-7]{1}+[0-9]{1,3}$
Nếu không quan tâm đến đầu dòng, cuối dòng thì có: [a-zA-Z]{1}+[-]+[1-7]{1}+[0-9]{1,3}
Tìm thấy thì xoá.
Tôi không cho rằng biểu thức của tôi là tối ưu, nhưng nó làm việc đúng yêu cầu (vừa học xong).
Xong lại phát hiện thấy sai.
Tạm thời tôi dùng hai biểu thức:
Biểu thức thứ nhất: ^[a-zA-Z]{1}+[-]+[1-6]{1}+[0-9]{1,3}$
Biểu thức thứ hai: ^[a-zA-Z]{1}+[-]+[7]{1}+[0]{1,3}$
Ghép hai biểu thức trên lại: (^[a-zA-Z]{1}+[-]+[1-6]{1}+[0-9]{1,3}$|^[a-zA-Z]{1}+[-]+[7]{1}+[0]{1,3}$)
hoặc: ([a-zA-Z]{1}+[-]+[1-6]{1}+[0-9]{1,3}|[a-zA-Z]{1}+[-]+[7]{1}+[0]{1,3})
Ghép hai biểu thức trên lại: (^[a-zA-Z]{1}+[-]+[1-6]{1}+[0-9]{1,3}$|^[a-zA-Z]{1}+[-]+[7]{1}+[0]{1,3}$)
hoặc: ([a-zA-Z]{1}+[-]+[1-6]{1}+[0-9]{1,3}|[a-zA-Z]{1}+[-]+[7]{1}+[0]{1,3})
Ghép hai biểu thức trên lại: (^[a-zA-Z]{1}+[-]+[1-6]{1}+[0-9]{1,3}$|^[a-zA-Z]{1}+[-]+[7]{1}+[0]{1,3}$)
hoặc: ([a-zA-Z]{1}+[-]+[1-6]{1}+[0-9]{1,3}|[a-zA-Z]{1}+[-]+[7]{1}+[0]{1,3})
biểu thức thứ 2 của bạn xoá cả chữ cái. dựa vào biểu thức của bạn Tôi tạo ra biểu thức sau
(?<=[a-zA-Z])-([1-6]?\d{1,3}|7000)\b
đã test ọk chỉ xoá dấu -và số không xoá chữ cái, và chỉ xoá -và số khi đằng trước là một chữ cái