// 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"gamers_online.*?\s*?([\d,]+)").unwrap();
let string = "[...]
<div id=\"about_header_area\" class=\" global\">
<div class=\"about_area_inner_wrapper\">
<div id=\"about_monitor_video\">
<video width=\"100%\" height=\"auto\" autoplay muted loop playsinline poster=\"https://cdn.fastly.steamstatic.com/store/about/videos/about_hero_loop_web.png\">
<source src=\"https://cdn.fastly.steamstatic.com/store/about/videos/about_hero_loop_web.webm\" type=\"video/webm\">
<source src=\"https://cdn.fastly.steamstatic.com/store/about/videos/about_hero_loop_web.mp4\" type=\"video/mp4\">
</video>
<div id=\"about_monitor_video_gradient\"></div>
</div>
<div id=\"about_header\">
<div id=\"about_greeting\">
<div class=\"about_greeting_header\">
<div class=\"steam_logo\"><img src=\"https://cdn.fastly.steamstatic.com/store//about/logo_steam.svg\" alt=\"The logo for Steam\"></div>
<div class=\"about_subtitle\">Steam is the ultimate destination for playing, discussing, and creating games.</div>
<div class=\"online_stats\">
<div class=\"online_stat\">
<div class=\"online_stat_label gamers_online\">online</div>
36,426,658 </div>
<div class=\"online_stat\">
<div class=\"online_stat_label gamers_in_game\">playing now</div>
10,289,777 </div>
</div>
</div>
<div class=\"about_install_wrapper\">
<div class=\"about_install win \">
<a href=\"https://cdn.fastly.steamstatic.com/client/installer/SteamSetup.exe\" class=\"about_install_steam_link\">Install Steam</a>
</div>
<div class=\"installer_list\">
<div class=\"available_platforms\">
Also available on:
</div>
<a class=\"platform_icon\" href=\"https://cdn.fastly.steamstatic.com/client/installer/steam.dmg\">
<img src=\"https://cdn.fastly.steamstatic.com/store/about/icon-macos.svg\">
</a>
<a class=\"platform_icon\" href=\"https://cdn.fastly.steamstatic.com/client/installer/steam.deb\">
<img src=\"https://cdn.fastly.steamstatic.com/store/about/icon-steamos.svg\">
</a>
<a class=\"platform_icon\" href=\"https://support.google.com/chromebook?p=steam_on_chromebook\">
<img src=\"https://cdn.fastly.steamstatic.com/store/about/icon-chromeos.svg\">
</a>
</div>
</div>
</div>
</div>
</div>
<div class=\"learn_more_btn\">
<a href=\"#about_games_cta_area\" class=\"smooth_scroll\">
Learn more <span class=\"down_arrow\"></span>
</a>
</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/