คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
ถ้า symbol มี ตัวหนังสือ ตัวเลข และ ลบ
ไม่จำเป็นต้องเป็นหน้าผู้ถือหุ้น
(?<=symbol\=)[\w\d-]+(?=&|\n)
regex101.com/r/szUJpx
Look ahead & look behind
https://www.regular-expressions.info/lookaround.html
ถ้าจะเอาหน้าผู้ถือหุ้นด้วย
companyholder\.do[\S]+symbol\=([\w\d-]+(?=&|\n))
แต่ต้องจับเป็น Group 1 แทน Full match
เพราะ look behind ไม่ให้มี quantifier
regex101.com/r/qd2SEo
ไม่จำเป็นต้องเป็นหน้าผู้ถือหุ้น
(?<=symbol\=)[\w\d-]+(?=&|\n)
Match 1
Full match 50-53 `EMC`
Match 2
Full match 104-107 `EMC`
Match 3
Full match 227-234 `BLAND-F`
Match 4
Full match 394-399 `RML-F`
Full match 50-53 `EMC`
Match 2
Full match 104-107 `EMC`
Match 3
Full match 227-234 `BLAND-F`
Match 4
Full match 394-399 `RML-F`
regex101.com/r/szUJpx
Look ahead & look behind
https://www.regular-expressions.info/lookaround.html
ถ้าจะเอาหน้าผู้ถือหุ้นด้วย
companyholder\.do[\S]+symbol\=([\w\d-]+(?=&|\n))
แต่ต้องจับเป็น Group 1 แทน Full match
เพราะ look behind ไม่ให้มี quantifier
Match 1
Full match 26-53 `companyholder.do?symbol=EMC`
Group 1. 50-53 `EMC`
Match 2
Full match 80-107 `companyholder.do?symbol=EMC`
Group 1. 104-107 `EMC`
Match 3
Full match 157-234 `companyholder.do%3Bjsessionid=B08A576398DF62A466D1D08EAAF280CC?symbol=BLAND-F`
Group 1. 227-234 `BLAND-F`
Match 4
Full match 370-399 `companyholder.do?symbol=RML-F`
Group 1. 394-399 `RML-F`
Full match 26-53 `companyholder.do?symbol=EMC`
Group 1. 50-53 `EMC`
Match 2
Full match 80-107 `companyholder.do?symbol=EMC`
Group 1. 104-107 `EMC`
Match 3
Full match 157-234 `companyholder.do%3Bjsessionid=B08A576398DF62A466D1D08EAAF280CC?symbol=BLAND-F`
Group 1. 227-234 `BLAND-F`
Match 4
Full match 370-399 `companyholder.do?symbol=RML-F`
Group 1. 394-399 `RML-F`
regex101.com/r/qd2SEo
แสดงความคิดเห็น
ใครใช้ regular expression เชิญหน่อยจร้า
https://regexr.com/3n9qg
ตัวอย่าง
https://www.set.or.th/set/companyholder.do?symbol=EMC
https://www.set.or.th/set/companyholder.do?symbol=EMC&language=th&country=TH
https://www.set.or.th/set/companyholder.do%3Bjsessionid=B08A576398DF62A466D1D08EAAF280CC?symbol=BLAND-F&language=en&country=EN
https://www.set.or.th/set/newsdetails.do?newsId=14828768298911&language=th&country=TH
https://www.set.or.th/set/companyholder.do?symbol=RML-F&ssoPageId=6&language=th&country=TH