StringFreeQ["string",patt]
yields True if no substring in "string" matches the string expression patt, and yields False otherwise.
StringFreeQ["string",{patt1,patt2,…}]
yields True if no substring matches any of the patti.
StringFreeQ[{"string1","string2",…},patt]
gives a list of the results for each of the "stringi".
StringFreeQ[patt]
represents an operator form of StringFreeQ that can be applied to an expression.


StringFreeQ
StringFreeQ["string",patt]
yields True if no substring in "string" matches the string expression patt, and yields False otherwise.
StringFreeQ["string",{patt1,patt2,…}]
yields True if no substring matches any of the patti.
StringFreeQ[{"string1","string2",…},patt]
gives a list of the results for each of the "stringi".
StringFreeQ[patt]
represents an operator form of StringFreeQ that can be applied to an expression.
Details and Options

- The string expression patt can contain any of the objects specified in the notes for StringExpression.
- StringFreeQ takes the following options:
-
IgnoreCase False whether to turn off case-sensitive matching - Setting the option IgnoreCase->True makes StringFreeQ treat lowercase and uppercase letters as equivalent.
- StringFreeQ[patt][expr] is equivalent to StringFreeQ[expr,patt].
- StringFreeQ[BioSequence["type","seq"],patt] checks the string "seq" against patt. In this case, degenerate letters in patt are interpreted as wildcard patterns based on the type of biomolecular sequence. Use Verbatim["patt"] to match degenerate letters literally.
- The documentation for BioSequence lists the degenerate letters supported by each type of biomolecular sequence.
- If the biomolecular sequence operated upon by StringFreeQ is circular, wraparound matches are possible.
Examples
open all close allBasic Examples (3)
Test whether a string contains a substring matching the pattern:
Give a list of strings as input:
Use the operator form of StringFreeQ:
Scope (10)
Mix regular expressions and string patterns:
Use pattern matching for dates:
Test for occurrences of either pattern:
StringFreeQ automatically threads over lists of strings:
Check whether a biomolecular sequence is free of a particular substring:
Use a wildcard in the pattern compared against a biomolecular sequence:
The "N" is a degenerate letter only in biomolecular sequences:
Check for the absence of literal degenerate letters using Verbatim:
Options (2)
IgnoreCase (2)
Use IgnoreCase->True to check for the presence of substrings regardless of case:
Applications (1)
Properties & Relations (8)
StringFreeQ threads over lists of strings in the first argument:
StringFreeQ["string",{patt1,patt2,…}] is equivalent to StringFreeQ["string",Alternatives[patt1,patt2,…]]:
StringContainsQ["string",patt] is equivalent to !StringFreeQ["string",patt]:
Use StringMatchQ to check whether a whole string matches a pattern:
StringFreeQ generally returns False when StringMatchQ is True:
Use StringStartsQ to check whether the start of a string matches a pattern:
StringFreeQ returns False whenever StringStartsQ is True:
Use StringEndsQ to check whether the end of a string matches a pattern:
StringFreeQ returns False whenever StringEndsQ is True:
Get the starting and ending positions where a substring occurs by using StringPosition:
Use StringCases to extract substrings matching a given pattern:
See Also
StringContainsQ StringCount StringCases StringPosition StringMatchQ FreeQ StringStartsQ StringEndsQ StringDelete StringExpression RegularExpression
Function Repository: StringWithinQ
Tech Notes
Related Guides
History
Introduced in 2004 (5.1) | Updated in 2016 (10.4) ▪ 2020 (12.2)
Text
Wolfram Research (2004), StringFreeQ, Wolfram Language function, https://reference.wolfram.com/language/ref/StringFreeQ.html (updated 2020).
CMS
Wolfram Language. 2004. "StringFreeQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/StringFreeQ.html.
APA
Wolfram Language. (2004). StringFreeQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StringFreeQ.html
BibTeX
@misc{reference.wolfram_2025_stringfreeq, author="Wolfram Research", title="{StringFreeQ}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/StringFreeQ.html}", note=[Accessed: 08-August-2025]}
BibLaTeX
@online{reference.wolfram_2025_stringfreeq, organization={Wolfram Research}, title={StringFreeQ}, year={2020}, url={https://reference.wolfram.com/language/ref/StringFreeQ.html}, note=[Accessed: 08-August-2025]}