Đây là một chuỗi ví dụ:Làm cách nào để tôi thực hiện một phần của kết hợp regex tùy chọn?
123456#p654321
Hiện nay, tôi đang sử dụng trận đấu này để nắm bắt 123456
và 654321
vào hai nhóm khác nhau:
([0-9].*)#p([0-9].*)
Nhưng vào những dịp, các #p654321
một phần của chuỗi sẽ không có ở đó, vì vậy tôi sẽ chỉ muốn nắm bắt nhóm đầu tiên. Tôi đã cố gắng để làm cho nhóm thứ hai "tùy chọn" bằng cách gắn thêm ?
vào nó, hoạt động, nhưng chỉ miễn là có một số #p
ở cuối chuỗi còn lại.
Cách tốt nhất để giải quyết vấn đề này là gì?
tôi đã cố gắng mà trước đây, và nó hoạt động tuy nhiên nếu có một phần thứ hai vào chuỗi sau đó nhóm đầu tiên là toàn bộ chuỗi, và không có gì là trong nhóm thứ hai. – user1447941
Dấu chấm trong reg-ex của bạn đang gây ra sự cố. Xem bản sửa đổi của tôi. –
Và bây giờ nhóm thứ hai là '# p654321'. Nó có thể nhìn thấy rằng nó là một phần của nhóm phù hợp. – user1447941