// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r#"<script>.*\/\/connect.facebook.net.*<\/script><div[^>]+class=\"fb-(video|post)\".*data-href=\"(.*?)\"[^>]*>.*?<\/div><\/div>"#).unwrap();
let string = "<p>จากกรณี นายพิชิต อายุ 23 ปี พนักงานการรถไฟแห่งประเทศไทย ได้โดยสารเครื่องบิน สายการบินไทยไลอ้อนแอร์ เที่ยวบินที่ SL8536 จากท่าอากาศยานดอนเมือง เมื่อวันที่ 1 พ.ย. และได้กล่าวแซวแอร์โฮสเตสว่า มีระเบิดอยู่ภายในกระเป๋าเดินทาง ทำให้เที่ยวบินต้องถูกยกเลิก เพื่อทำการตรวจสอบกระเป๋าผู้โดยสารทุกใบหมด</p>
<p><strong>อ่านข่าวที่เกี่ยวข้อง</strong> : <a href=\"http://news.sanook.com/1892574/\">เปิดใจหนุ่มแซวแอร์ฯ กระเป๋ามีระเบิด บอกรู้เท่าไม่ถึงการณ์-เพิ่งเคยบิน</a> </p>
<p>ล่าสุด (3 พ.ย.) ในโลกออนไลน์ได้มีการแชร์ข้อความจาก<strong>เฟซบุ๊กแฟนเพจ Crewabs Cabincrew</strong> ได้โพสต์ข้อความเกี่ยวกับกรณีดังกล่าวว่า แอร์ฯซึ่งอยู่บนไฟล์ทที่ตกเป็นข่าวเป็นลูกศิษย์ของตนเอง และได้ทักแชทมาเพื่อระบายความในใจ และอธิบายถึงเหตุการณ์ที่เกิดขึ้นจริงบนเที่ยวบินดังกล่าว</p>
<p>เนื่องจากมีคนด่าทอว่าแอร์ฯทำเกินกว่าเหตุ ทำให้เรื่องราวบานปลายและกลายเป็นว่าหนุ่มคนดังกล่าวน่าสงสารน่าเห็นใจนั้น โดยใจความสำคัญมีดังนี้</p>
<p>\"เห็นด้วยไหมคะว่า ? จากการอ่านข่าว เราจินตนาการไปว่า น้องแอร์ช่วยยกกระเป๋าสัมภาระของหนุ่มรถไฟเก็บ แล้วชายหนุ่มก็อาจจะพูดยิ้มๆแซวๆทำนองว่า เบาๆนะ เดี๋ยวระเบิด ขำกิ๊กกั๊กทำนองล้อเล่น บังเอิญแอร์(ที่เราคิดว่าเคร่งเกิ๊น)ไปฟ้องกัปตัน ทุกคนทำเป็นเรื่องใหญ่โต น้องรถไฟผู้น่าสงสาร แค่ล้อเล่น แต่แอร์ทำเป็นเรื่องใหญ่</p>
<p>แต่จากการได้คุยกับน้องแอร์แล้ว น้องระบายคำแรกเลยคือ \"หนูเครียดนะพี่ หนูไปทำให้เขาและครอบครัวเขาลำบากรึเปล่า\" แต่เรื่องที่เกิดจริงๆ มันไม่ใช่อย่างที่คนทั่วไป(บางท่าน)เข้าใจ</p>
<p>น้องเล่าว่า.....<br />ผู้โดยสารมากับเพื่อนๆ ค่ะ นั่งตรงemergency exit(ประตูทางออกฉุกเฉิน) แถว20 หนูก็เช็คcabinตรวจตราความเรียบร้อยก่อนออกบิน เจอกระเป๋าเล็ก(ที่เขาถือมาในวันที่ไปโรงพัก) ขนาดเล็กๆ ประมาณ15x15 cm ได้ เลยจะหยิบเพื่อเก็บให้ เขาก็พูดหน้านิ่งๆ เน้นว่า นิ่งๆ ไม่มียิ้มว่า \"สงสัยจะมีระเบิด\" หนูหันไปดุด้วยน้ำเสียงจริงจังว่า \"พูดแบบนี้ไม่ได้นะคะ มีสิทธิ์จะโดนเชิญลงจากเครื่อง\" เขาก็ยังหน้านิ่งและไม่มีท่าทีจะปฏิเสธ</p>
<p>ต่อมาสิ่งที่น้องแอร์คนนี้ทำคือ เดินไปแจ้งin charge(ภาษาง่ายๆประมาณตำแหน่งรองหัวหน้าลูกเรือค่ะ) และin chargeก็เดินมาถามให้แน่ใจว่าเขาไม่ได้ล้อเล่น และที่น่ากลัวคือ เขาหน้านิ่งพูดคำเดิม \"มีระเบิด\" ไม่มีท่าทีว่าจะจีบแอร์อะไรแบบนั้น หน้าซีเรียส เอาจริง ไม่มีใครเดาทางได้ว่าเขาพูดจริงหรือล้อเล่น เพื่อนๆเขาไม่มีใครว่าอะไร in chargeถามย้ำอยู่2รอบ ยังไม่มีการยอมรับว่าแซวเล่นหรืออะไร สีหน้าจริงจังไม่มีหัวเราะหรือยิ้มใดๆ พวกเราจึงแจ้งเพอเซอร์(หัวหน้าลูกเรือ)และต่อไปยังกัปตัน และกัปตันจึงให้ทุกคนรีบอพยพออกจากเครื่อง</p>
<p>หลังจากฟังแล้ว Crewabsบอกเลยว่ามันผิดจากที่คิดไว้ เพราะตอนแรกคิดว่าหนุ่มรถไฟคงมีสีหน้ายิ้มๆ หัวเราะทำนองแกล้งแซว แต่น้องแอร์ยืนยัน ถามกี่รอบ หลายรอบก็แล้ว ไม่มียิ้ม ทำหน้านิ่ง และไม่มีการยอมรับว่า ผมล้อเล่นหรือพูดเล่น เป็นใคร ใครจะกล้าบินคะ? จนสุดท้ายเมื่อเรื่องใหญ่ทุกคนต้องออกจากเครื่องเพราะมีระเบิดตามที่อ้าง เพื่อนของเขาจึงมาถามว่า \"นี่เรื่องใหญ่เหรอ\"</p>
<p>แต่สิ่งที่น่าเจ็บใจแทนลูกเรือนักบินในไฟล์ทก็คือ มีคนไปcommentว่า #แอร์ทำเกินไป #สงสารน้องหนุ่มรถไฟ หรือแม้กระทั่งใช้คำหยาบคายต่อว่า</p>
<p>Crewabsได้แต่ให้กำลังใจน้องว่า น้องทำถูกแล้วค่ะ เพราะถ้ามันเป็นระเบิดจริง บินขึ้นไป ระเบิดตายกันยกลำ ก็จะมีคนมาด่าหนูอยู่ดีว่า \"ทำไมแอร์หละหลวมไม่เคร่งเรื่องความปลอดภัย การที่น้องทำแบบนี้ไม่เพียงเพื่อความปลอดภัย มันยังรักษาชื่อเสียงของสายการบินน้องด้วย\"</p>
<p>Crewabsเองก็กำลังจะบินกับสายการบินสิงโตแดงเร็วๆนี้ค่ะ ซื้อตั๋วแล้ว ยิ่งเจอข่าวแบบนี้ ยิ่งมั่นใจในพนักงานต้อนรับของสายนี้ แต่สิ่งที่เราควบคุมไม่ได้ คือ ผู้โดยสารมากกว่าค่ะ ใครที่ต่อว่าน้องแอร์และทีม ขอให้ลองคิดใหม่ เห็นต่างได้ แต่อย่าถึงขั้นด่าว่ากันว่าพวกเราเป็นควายเลยนะคะ</p>
<p>#ถึงเป็นควาย #ก็เซฟชีวิตผู้โดยสารทุกคนจากความชิบหายมานักต่อนักแล้วนะคะ\"</p>
<p><em>ขอขอบคุณข้อมูลจาก <a href=\"https://www.facebook.com/CrewabsCabincrew/photos/a.163266007065328.35057.162290157162913/981295968595657/?type=3\">เฟซบุ๊ก Crewabs Cabincrew</a></em></p>
<script type=\"text/javascript\">// <![CDATA[
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = \"//connect.facebook.net/th_TH/sdk.js#xfbml=1&version=v2.3\"; fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));
// ]]></script>
<div class=\"fb-post\" data-href=\"https://www.facebook.com/CrewabsCabincrew/photos/a.163266007065328.35057.162290157162913/981295968595657/?type=3\" data-width=\"500\">
<div class=\"fb-xfbml-parse-ignore\">
<blockquote cite=\"https://www.facebook.com/CrewabsCabincrew/photos/a.163266007065328.35057.162290157162913/981295968595657/?type=3\">
<p>จากใจแอร์สาวบนไฟล์ทที่โดนหนุ่มรถไฟจีบด้วยมุก\"ระเบิด\"กรณีหนุ่มรถไฟ แซวแอร์ไทยไลอ้อน อยากขอพื้นที่ชี้แจงให้ลูกเรือสาวในไ...</p>
Posted by <a href=\"https://www.facebook.com/CrewabsCabincrew/\">Crewabs Cabincrew</a> on <a href=\"https://www.facebook.com/CrewabsCabincrew/photos/a.163266007065328.35057.162290157162913/981295968595657/?type=3\">3 พฤศจิกายน 2015</a></blockquote>
</div>
</div>";
// result will be a tuple containing the start and end indices for the first match in the string
let result = regex.captures(string);
let (start, end) = match result {
Some((s, e)) => (s, e),
None => {
// ...
}
};
println!("{}", &string[start, end]);
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Rust, please visit: https://docs.rs/regex/latest/regex/