Tôi có tài liệu LaTeX tôi muốn khớp. Và tôi cần một trận đấu RegEx phù hợp với những điều sau:Làm cách nào để khớp các dấu ngoặc ôm bằng cách sử dụng cụm từ thông dụng trong PHP?
\ # the backslash in the beginning
[a-zA-Z]+ #a word
(\{.+\})* # any amount of {something}
Tuy nhiên, cô ấy là người nắm bắt;
Trong dòng cuối cùng, nó 1. cần phải tham lam và 2. cần phải có số phù hợp là {}
bên trong chính nó.
Có nghĩa là nếu tôi có chuỗi \test{something\somthing{9}}
, nó sẽ khớp với toàn bộ. Và nó cần phải theo thứ tự đó ({}
). Vì vậy, nó không phù hợp với những điều sau đây: một hệ thống chuẩn bị tài liệu
\ LaTeX {} được cho \ TeX {}
chỉ
\ LaTeX {}
và
\ TeX {}
Giúp đỡ bất kỳ ai? Có lẽ ai đó có ý tưởng phù hợp hơn? Tôi có nên sử dụng cụm từ thông dụng không?
Nó không phải là một điều bình thường bạn muốn kết hợp, biểu hiện rất thường xuyên không sự lựa chọn tốt nhất. Điều đó đang được nói, bạn có thể * * làm điều đó, vì hầu hết các động cơ biểu hiện thường xuyên không phải là bình thường những ngày này, nhưng nó vẫn không phải là một ý tưởng tốt. –
Nếu tôi có sự lựa chọn nào khác mà tôi đã có thể đi cho nó. Nhưng tôi không biết về bất kỳ thứ gì khác mà tôi có thể sử dụng. Bạn có ý tưởng nào không? Nếu không, có vẻ như tôi đang bị mắc kẹt chiều rộng RegEx. – Knarf
Nó không chỉ là một số chẵn của '{' và '}' (mà bạn có thể làm với regex), nhưng bạn cũng muốn chắc chắn rằng '}} {{' bị từ chối (có số lượng bằng '{' và '} '!), và bạn muốn loại bỏ' {' và '}' khi chúng xảy ra trong bình luận-dòng. Tóm lại: regex không phù hợp với điều này. –