@Override
		public void visit(@Nonnull ResultSink resultSink,
						  @Nonnull FilePathNode filePath,
						  @Nonnull FileInfo fileInfo) {
			if (delegate != null) delegate.visit(resultSink, filePath, fileInfo);

			// Search text files text content on a line by line basis
			if (fileInfo.isTextFile()) {
				String text = fileInfo.asTextFile().getText();

				// Split by single newline (including goofy carriage returns)
				String[] lines = text.split("\\r?\\n\\r?");
				for (int i = 0; i < lines.length; i++) {
					String lineText = lines[i];

					// Extract numbers (decimal, hex) from line, check if match
					Matcher matcher = getMatcher("(?:\\b|-)(?:\\d+(?:.\\d+[DdFf]?)?|0[xX][0-9a-fA-F]+)\\b", lineText);
					while (matcher.find()) {
						String group = matcher.group(0);
						try {
							Number value = NumberUtil.parse(group);
							if (isMatch(value))
								resultSink.accept(filePath.child(i + 1), value);
						} catch (NumberFormatException ignored) {
							// Invalid match
						}
					}

				}
			}
		}
Points {@link #visitor(FileSearchVisitor)} to file content.
recaf-core/src/main/java/software/coley/recaf/services/search/query/NumberQuery.java