The mod_rewrite_rules WordPress PHP filter allows you to modify the list of rewrite rules formatted for output to an .htaccess file.
Usage
add_filter('mod_rewrite_rules', 'my_custom_mod_rewrite_rules');
function my_custom_mod_rewrite_rules($rules) {
    // Your custom code here
    return $rules;
}
Parameters
$rules(string): The mod_rewrite rewrite rules formatted for .htaccess.
More information
See WordPress Developer Resources: mod_rewrite_rules
Examples
Remove a specific rule
Remove a specific rewrite rule from the list.
add_filter('mod_rewrite_rules', 'remove_specific_rule');
function remove_specific_rule($rules) {
    // Remove a specific rule
    $rule_to_remove = 'RewriteRule ^index\.php$ - [L]';
    $rules = str_replace($rule_to_remove . "\n", '', $rules);
    return $rules;
}
Add a custom rule
Add a custom rewrite rule to the list.
add_filter('mod_rewrite_rules', 'add_custom_rule');
function add_custom_rule($rules) {
    // Add a custom rule
    $custom_rule = 'RewriteRule ^custom-path/?$ /index.php?p=123 [L]';
    $rules = $custom_rule . "\n" . $rules;
    return $rules;
}
Change the base of the rewrite rules
Change the base of the rewrite rules to a subdirectory.
add_filter('mod_rewrite_rules', 'change_base_of_rewrite_rules');
function change_base_of_rewrite_rules($rules) {
    // Change the base to a subdirectory
    $rules = str_replace('RewriteBase /', 'RewriteBase /subdirectory/', $rules);
    return $rules;
}
Disable rewriting for a specific directory
Disable rewriting for a specific directory by adding a rule.
add_filter('mod_rewrite_rules', 'disable_rewrite_for_directory');
function disable_rewrite_for_directory($rules) {
    // Disable rewriting for a specific directory
    $disable_rule = 'RewriteRule ^example-directory/ - [L]';
    $rules = $disable_rule . "\n" . $rules;
    return $rules;
}
Change the rewrite conditions for specific rules
Change the rewrite conditions for specific rules based on a custom condition.
add_filter('mod_rewrite_rules', 'change_rewrite_conditions');
function change_rewrite_conditions($rules) {
    // Change the rewrite conditions for specific rules
    $search = 'RewriteCond %{REQUEST_FILENAME} !-f';
    $replace = 'RewriteCond %{REQUEST_FILENAME} !-f [OR]' . "\n" . 'RewriteCond %{REQUEST_URI} ^/custom-condition/';
    $rules = str_replace($search, $replace, $rules);
    return $rules;
}