diff --git a/Cargo.lock b/Cargo.lock
index ce79be6f..7fe77dfa 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -373,6 +373,7 @@ dependencies = [
"octocrab",
"regex",
"serde 1.0.136",
+ "serde_yaml",
"tokio",
"tracing",
]
@@ -1902,6 +1903,18 @@ dependencies = [
"serde 1.0.136",
]
+[[package]]
+name = "serde_yaml"
+version = "0.8.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0"
+dependencies = [
+ "indexmap",
+ "ryu",
+ "serde 1.0.136",
+ "yaml-rust",
+]
+
[[package]]
name = "sha2"
version = "0.10.1"
diff --git a/clomonitor-core/Cargo.toml b/clomonitor-core/Cargo.toml
index a7c5a6ec..01cc23ce 100644
--- a/clomonitor-core/Cargo.toml
+++ b/clomonitor-core/Cargo.toml
@@ -13,5 +13,6 @@ lazy_static = "1.4.0"
octocrab = "0.15.4"
regex = "1.5.4"
serde = { version = "1.0", features = ["derive"] }
+serde_yaml = "0.8.23"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
tracing = "0.1.29"
diff --git a/clomonitor-core/src/linter/check.rs b/clomonitor-core/src/linter/check.rs
index e080b16c..562f48cb 100644
--- a/clomonitor-core/src/linter/check.rs
+++ b/clomonitor-core/src/linter/check.rs
@@ -37,6 +37,33 @@ where
pub case_sensitive: bool,
}
+/// Check if the content of any of the files that match the globs provided
+/// matches any of the regular expressions given, returning the captured value
+/// when there is a match. This function expects that the regular expressions
+/// provided contain one capture group.
+pub(crate) fn content_find
(globs: Globs
, regexps: R) -> Result